CN107609151A - 基于Redis实现XBRL实例文档缓存的方法 - Google Patents
基于Redis实现XBRL实例文档缓存的方法 Download PDFInfo
- Publication number
- CN107609151A CN107609151A CN201710866847.1A CN201710866847A CN107609151A CN 107609151 A CN107609151 A CN 107609151A CN 201710866847 A CN201710866847 A CN 201710866847A CN 107609151 A CN107609151 A CN 107609151A
- Authority
- CN
- China
- Prior art keywords
- instance
- redis
- caching
- instance document
- xbrl
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及XBRL实例文档的缓存技术。本发明解决了目前实例文档访问时,因数据规模过于庞大,以致实例文档的访问速度过慢的问题,提出了一种基于Redis实现XBRL实例文档缓存的方法,其技术方案可概括为:将所有实例文档存入关系型数据库;当用户访问所需实例文档时,在Redis的缓存中进行查询,如果查询到对应的Value数据,则将该Value数据显示给用户,否则在关系型数据库中进行查询,并将查询结果显示给用户,同时将该实例文档设计成所需存储模型,然后按该存储模型将该实例文档存入Redis的缓存中。本发明的有益效果是,在查询数据库之前先查询Redis,加快了实例文档的访问速度,适用于XBRL。
Description
技术领域
本发明涉及XBRL技术,特别涉及XBRL实例文档的缓存技术。
背景技术
可扩展商业报告语言XBRL(eXtensible Business Reporting Language),是国际上将会计准则与计算机语言相结合,用于非结构化数据,尤其是财务信息交换的最新公认标准和技术。根据财务信息披露规则,将财务报告内容分解成不同的数据元(dataelements),再根据信息技术规则对数据元赋予唯一的数据标记,从而形成标准化规范。以这种语言为基础,通过对网络财务报告信息的标准化处理,可以编制出比现行网络财务报告更加先进的报告,可以将网络财务报告不能自动读取的信息转换为一种可以自动读取的信息,方便信息的批量利用。
XBRL实例文档常见的存储方案为XML存储,以及关系型数据库存储。XBRL实例文档自身的数据格式就是XML,XML存储方案简单可行,但是当XML文件规模变大后,数据访问的效率以及并发性都无法保障,所以一般采用关系型数据库存储的方案。关系型数据库,例如Mysql的数据是存储在磁盘上的。Redis是基于内存,可持久化的Key-Value数据库。Redis支持五种数据结构:string,hash,list,set及zset(sorted set)。内存型数据库的访问速度优于关系型数据库。
发明内容
本发明的目的是提供一种基于Redis实现XBRL实例文档缓存的方法,解决目前实例文档访问时,因数据规模过于庞大,以致实例文档的访问速度过慢的问题。
本发明解决其技术问题,采用的技术方案是:基于Redis实现XBRL实例文档缓存的方法,其特征在于,包括以下步骤:
步骤1、将所有实例文档存入关系型数据库;
步骤2、当用户访问所需实例文档时,在Redis的缓存中进行查询,如果查询到对应的Value数据,则将该Value数据显示给用户,否则进入步骤3;
步骤3、在关系型数据库中进行查询,并将查询结果显示给用户,同时将该实例文档设计成所需存储模型,然后按该存储模型将该实例文档存入Redis的缓存中。
具体的,步骤1中,所述将实例文档存入关系型数据库的具体方法为:读取实例文档,使用XBRL引擎解析读取的实例文档内容并存入关系型数据库。
进一步的,步骤1中,所述将所有实例文档存入关系型数据库后,关系型数据库分别赋予与各实例文档对应的主关键字。
具体的,步骤2和/或步骤3中,在Rdis或关系型数据库中查询时,以与实例文档对应的的主关键字为查询条件。
再进一步的,步骤1和/或步骤3中,所述关系型数据库具体为Mysql。
具体的,步骤3中,所述所需存储模型的建立方法具体包括以下步骤:
步骤301、以该次查询到的实例文档的单位、周期、实体、上下文、场景、数据项及脚注分别构建与其对应的Map对象,所述Map对象分别为:unitMap、periodMap、entityMap、contextMap、scenarioMap、itemMap及footnoteMap;
步骤302、将所述Map对象构建成一个大的实例文档对象。
再进一步的,步骤3中,所述将实例文档存入Redis的缓存中的具体做法是:以该实例文档的主关键字为Key,以大的实例文档对象为Value,将该实例文档存入Redis的缓存中。
本发明的有益效果是,通过上述基于Redis实现XBRL实例文档缓存的方法,当用户访问所需实例文档时,首先在Redis缓存进行读取,如果没有该实例文档的信息,就去读取关系型数据库,同时将该实例文档内容按设计好的存储模型存入Redis,当用户再次访问该实例文档时可以直接在Redis的缓存里读取信息,无须再去访问关系型数据库,当数据规模庞大时,本发明提出的读取实例文档的方式的读取实例文档速度大大提高。
具体实施方式
下面结合实施例,详细描述本发明的技术方案。
本发明所述基于Redis实现XBRL实例文档缓存的方法由以下步骤组成:首先将所有实例文档存入关系型数据库;当用户访问所需实例文档时,在Redis的缓存中进行查询,如果查询到对应的Value数据,则将该Value数据显示给用户,否则在关系型数据库中进行查询,并将查询结果显示给用户,同时将该实例文档设计成所需存储模型,然后按该存储模型将该实例文档存入Redis的缓存中。
实施例
本发明实施例基于Redis实现XBRL实例文档缓存的方法,包括以下步骤:
步骤1、将所有实例文档存入关系型数据库,本例中关系型数据库优选为Mysql,将所有实例文档存入Mysql后,Mysql分别赋予与各实例文档对应的主关键字;
步骤2、当用户访问所需实例文档时,以与该实例文档对应的的主关键字为查询条件在Redis的缓存中进行查询,如果查询到对应的Value数据,则将该Value数据显示给用户,否则进入步骤3;
步骤3、以与该实例文档对应的的主关键字为查询条件在关系型数据库中进行查询,并将查询结果显示给用户,同时将该实例文档设计成所需存储模型,然后按该存储模型将该实例文档存入Redis的缓存中。
上述方法中,步骤1中,将实例文档存入关系型数据库的优选方法为:读取实例文档,使用XBRL引擎解析读取的实例文档内容并存入Mysql。
步骤3中,所需存储模型的建立的优选方法具体包括以下步骤:
步骤301、以该次查询到的实例文档的单位、周期、实体、上下文、场景、数据项及脚注分别构建与其对应的Map对象,其中,Map对象分别为:unitMap、periodMap、entityMap、contextMap、scenarioMap、itemMap及footnoteMap;
步骤302、将Map对象构建成一个大的实例文档对象。
步骤3中,将实例文档存入Redis的缓存中的具体做法是:以该实例文档的主关键字为Key,以大的实例文档对象为Value,将该实例文档存入Redis的缓存中。
Claims (7)
1.基于Redis实现XBRL实例文档缓存的方法,其特征在于,包括以下步骤:
步骤1、将所有实例文档存入关系型数据库;
步骤2、当用户访问所需实例文档时,在Redis的缓存中进行查询,如果查询到对应的Value数据,则将该Value数据显示给用户,否则进入步骤3;
步骤3、在关系型数据库中进行查询,并将查询结果显示给用户,同时将该实例文档设计成所需存储模型,然后按该存储模型将该实例文档存入Redis的缓存中。
2.根据权利要求1所述的基于Redis实现XBRL实例文档缓存的方法,其特征在于,步骤1中,所述将实例文档存入关系型数据库的具体方法为:读取实例文档,使用XBRL引擎解析读取的实例文档内容并存入关系型数据库。
3.根据权利要求1所述的基于Redis实现XBRL实例文档缓存的方法,其特征在于,步骤1中,所述将所有实例文档存入关系型数据库后,关系型数据库分别赋予与各实例文档对应的主关键字。
4.根据权利要求3所述的基于Redis实现XBRL实例文档缓存的方法,其特征在于,步骤2和/或步骤3中,在Rdis或关系型数据库中查询时,以与实例文档对应的的主关键字为查询条件。
5.根据权利要求1-4任意一项所述的基于Redis实现XBRL实例文档缓存的方法,其特征在于,步骤1和/或步骤3中,所述关系型数据库具体为Mysql。
6.根据权利要求1所述的基于Redis实现XBRL实例文档缓存的方法,其特征在于,步骤3中,所述所需存储模型的建立方法具体包括以下步骤:
步骤301、以该次查询到的实例文档的单位、周期、实体、上下文、场景、数据项及脚注分别构建与其对应的Map对象,所述Map对象分别为:unitMap、periodMap、entityMap、contextMap、scenarioMap、itemMap及footnoteMap;
步骤302、将所述Map对象构建成一个大的实例文档对象。
7.根据权利要求6所述的基于Redis实现XBRL实例文档缓存的方法,其特征在于,步骤3中,所述将实例文档存入Redis的缓存中的具体做法是:以该实例文档的主关键字为Key,以大的实例文档对象为Value,将该实例文档存入Redis的缓存中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710866847.1A CN107609151A (zh) | 2017-09-22 | 2017-09-22 | 基于Redis实现XBRL实例文档缓存的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710866847.1A CN107609151A (zh) | 2017-09-22 | 2017-09-22 | 基于Redis实现XBRL实例文档缓存的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107609151A true CN107609151A (zh) | 2018-01-19 |
Family
ID=61061767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710866847.1A Pending CN107609151A (zh) | 2017-09-22 | 2017-09-22 | 基于Redis实现XBRL实例文档缓存的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107609151A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109299143A (zh) * | 2018-11-28 | 2019-02-01 | 重庆邮电大学 | 基于Redis缓存的数据互操作测试知识库的知识快速索引方法 |
CN109635160A (zh) * | 2018-12-03 | 2019-04-16 | 四川长虹电器股份有限公司 | 一种基于xbrl的快速检索的实现方法 |
CN112506961A (zh) * | 2020-12-28 | 2021-03-16 | 浪潮云信息技术股份公司 | 一种提高数据查询效率的方法 |
CN113792069A (zh) * | 2021-08-03 | 2021-12-14 | 浪潮软件股份有限公司 | 一种应用于千万级数据量实时查询的优化方法 |
CN117076581A (zh) * | 2023-10-12 | 2023-11-17 | 之江实验室 | 用于非关系型数据库的数据设置方法和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102314647A (zh) * | 2011-09-29 | 2012-01-11 | 广州中浩控制技术有限公司 | 一种利用xbrl进行的企业数据存储的方法 |
CN105224319A (zh) * | 2015-09-24 | 2016-01-06 | 四川长虹电器股份有限公司 | 基于dom4j实现XBRL实例文档预览的方法 |
CN105354211A (zh) * | 2015-09-24 | 2016-02-24 | 四川长虹电器股份有限公司 | 基于MongoDB实现XBRL实例文档存取的方法 |
CN106649585A (zh) * | 2016-11-18 | 2017-05-10 | 福建中金在线信息科技有限公司 | 一种检索的方法及装置 |
-
2017
- 2017-09-22 CN CN201710866847.1A patent/CN107609151A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102314647A (zh) * | 2011-09-29 | 2012-01-11 | 广州中浩控制技术有限公司 | 一种利用xbrl进行的企业数据存储的方法 |
CN105224319A (zh) * | 2015-09-24 | 2016-01-06 | 四川长虹电器股份有限公司 | 基于dom4j实现XBRL实例文档预览的方法 |
CN105354211A (zh) * | 2015-09-24 | 2016-02-24 | 四川长虹电器股份有限公司 | 基于MongoDB实现XBRL实例文档存取的方法 |
CN106649585A (zh) * | 2016-11-18 | 2017-05-10 | 福建中金在线信息科技有限公司 | 一种检索的方法及装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109299143A (zh) * | 2018-11-28 | 2019-02-01 | 重庆邮电大学 | 基于Redis缓存的数据互操作测试知识库的知识快速索引方法 |
CN109299143B (zh) * | 2018-11-28 | 2022-03-22 | 重庆邮电大学 | 基于Redis缓存的数据互操作测试知识库的知识快速索引方法 |
CN109635160A (zh) * | 2018-12-03 | 2019-04-16 | 四川长虹电器股份有限公司 | 一种基于xbrl的快速检索的实现方法 |
CN109635160B (zh) * | 2018-12-03 | 2022-05-03 | 四川长虹电器股份有限公司 | 一种基于xbrl的快速检索的实现方法 |
CN112506961A (zh) * | 2020-12-28 | 2021-03-16 | 浪潮云信息技术股份公司 | 一种提高数据查询效率的方法 |
CN113792069A (zh) * | 2021-08-03 | 2021-12-14 | 浪潮软件股份有限公司 | 一种应用于千万级数据量实时查询的优化方法 |
CN117076581A (zh) * | 2023-10-12 | 2023-11-17 | 之江实验室 | 用于非关系型数据库的数据设置方法和存储介质 |
CN117076581B (zh) * | 2023-10-12 | 2024-03-19 | 之江实验室 | 用于非关系型数据库的数据设置方法和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107609151A (zh) | 基于Redis实现XBRL实例文档缓存的方法 | |
CN111459985B (zh) | 标识信息处理方法及装置 | |
CN107818115B (zh) | 一种处理数据表的方法及装置 | |
US7096231B2 (en) | Export engine which builds relational database directly from object model | |
EP2605158B1 (en) | Mixed join of row and column database tables in native orientation | |
CN102054025B (zh) | 交通信息资源整合处理方法及系统 | |
US9251199B2 (en) | Stateless database cache | |
US10042889B2 (en) | Pseudo columns for data retrieval | |
US8924373B2 (en) | Query plans with parameter markers in place of object identifiers | |
CN111767303A (zh) | 一种数据查询方法、装置、服务器及可读存储介质 | |
US9229971B2 (en) | Matching data based on numeric difference | |
CN110659282B (zh) | 数据路由的构建方法、装置、计算机设备和存储介质 | |
US7814045B2 (en) | Semantical partitioning of data | |
KR20060045622A (ko) | 컴퓨터화된 재무 시스템의 추출, 변환 및 로딩 설계자 모듈 | |
CN103678556A (zh) | 列式数据库处理的方法和处理设备 | |
US10628421B2 (en) | Managing a single database management system | |
AU2017243870A1 (en) | "Methods and systems for database optimisation" | |
CN102999637B (zh) | 根据文件特征码为文件自动添加文件标签的方法及系统 | |
US7840603B2 (en) | Method and apparatus for database change management | |
US9053207B2 (en) | Adaptive query expression builder for an on-demand data service | |
CN101963993B (zh) | 一种数据库单表记录快速查找的方法 | |
US20160188685A1 (en) | Fan identity data integration and unification | |
CN108874944B (zh) | 一种基于xsl语言转换的异构数据映射系统及方法 | |
US7424495B2 (en) | Handling uniqueness constraints in a database system with versioned data | |
CN113535966A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180119 |
|
RJ01 | Rejection of invention patent application after publication |