基于内存的数据处理方法及装置制造方法及图纸

技术编号:15080645 阅读:37 留言:0更新日期:2017-04-07 12:41
本发明专利技术公开了一种基于内存的数据处理方法及装置,其中,所述方法包括:将包括多条数据记录的结构化数据写入第一内存区域,并根据所述结构化数据的维度建立多条链表,每一条链表中的数据域保存用于访问属于不同数据记录但属于同一维度且具有相同值的数据元素的指针;通过所述多条链表查找所述结构化数据中的数据元素,并根据存储于第二内存区域的统计指标和计算方法进行数据处理。采用本发明专利技术,能大大降低I/O开销、提高数据处理效率并及时返回统计结果的效果。

【技术实现步骤摘要】

本专利技术涉及数据处理领域,更为具体而言,涉及一种基于内存的数据处理方法及装置
技术介绍
随着信息技术的发展,在很多领域可以通过对大量数据进行统计分析来帮助决策。例如在银行的风险监控领域,可以通过分析客户的每一笔交易行为以及与此交易相关的某种上下文关系,来判断客户当笔交易是否存在风险,并以此决策是否对该客户的交易采取控制措施。区别于其他的数据统计分析需求,银行风险监控的特点是要求在很短的时间内(例如10分钟或更短的时间)快速返回客户交易的分析结果,对数据分析的时效性要求较高。业界在数据统计分析方面,通常使用关系型数据库技术来实现。现有常用的关系型数据库产品有ORACLE、DB2、MYSQL等,借助数据库函数和结构化查询语言(StructuredQueryLanguage,SQL)实现对大量数据的处理分析。具体而言,在现有的数据处理技术中,首先将数据记录写入数据库;再运用SQL语句从数据库中逐笔读出数据记录并进行运算。但是,当数据记录数增长到一定程度时,频繁的读写数据库会消耗大量的I/O(输入/输出)资源,导致整体分析效率较低。此外,在业务上对时效性有较高的要求时,例如对银行交易进行实时的风险监控时,无法及时返回统计结果。
技术实现思路
鉴于现有技术的上述缺陷,本专利技术实施方式提供了一种基于内存的数据处理方法及装置,能够大大降低I/O开销、提高数据处理效率并及时返回统计结果的效果。具体地,本专利技术实施方式提供了一种基于内存的数据处理方法,其包括:将包括多条数据记录的结构化数据写入第一内存区域,并根据所述结构化数据的维度建立多条链表,每一条链表中的数据域保存用于访问属于不同数据记录但属于同一维度且具有相同值的数据元素的指针;通过所述多条链表查找所述结构化数据中的数据元素,并根据存储于第二内存区域的统计指标和计算方法进行数据处理。相应地,本专利技术实施方式还提供了一种基于内存的数据处理装置,其包括:数据存储模块,用于将包括多条数据记录的结构化数据写入第一内存区域,并根据所述结构化数据的维度建立多条链表,每一条链表中的数据域保存用于访问属于不同数据记录但属于同一维度且具有相同值的数据元素的指针;数据处理模块,用于通过所述多条链表查找所述原始数据记录中的数据元素,并根据存储于第二内存区域的统计指标和计算方法进行数据处理。采用本专利技术实施方式具有下述有益效果:通过将结构化数据写入内存并基于内存中加载的统计指标和计算方法进行数据处理,相对于现有的数据库技术而言,能够大大降低I/O开销、提高数据处理效率并及时返回统计结果的效果;采用双链表存储结构以及采用双链表结合单链表的存储结构,能够在载入数据的同时快速获得多维度的上下文关系,提高数据处理效率,同时有利于进行数据元素的查询、增加和删除等操作;在链表和索引中均采用保存指针的方式代替保存数据元素,从而在内存中仅需存储一份数据元素,降低内存开销。附图说明图1是根据本专利技术实施例的一种基于内存的数据处理方法的流程示意图;图2A是根据本专利技术实施例的一种基于内存的数据处理整体流程示意图及相关存储结构示意图的一例;图2B是根据本专利技术实施例的一种基于内存的数据处理整体流程示意图及相关存储结构示意图的另一例;图3是根据本专利技术实施例的一种数据处理方法的流程示意图;图4是根据本专利技术实施例的一种基于内存的数据处理方法的流程示意图;图5A是一种用于配置计算方法的可视化图形界面的示意图;图5B是一种用于配置统计指标的可视化图形界面的示意图;图6是根据本专利技术实施例的一种基于内存的数据处理装置的框图;图7是图6所示数据处理装置的数据存储模块的框图;图8是图6所示数据处理装置的数据处理模块的框图。具体实施方式为了便于理解本专利技术技术方案的各个方面、特征以及优点,下面结合附图对本专利技术进行具体描述。应当理解,下述的各种实施方式只用于举例说明,而非用于限制本专利技术的保护范围。首先对根据本专利技术可能涉及到的名称或术语进行解释。维度:结构化数据对象的共同属性。例如银行交易数据的维度有客户、交易IP、交易日期等。上下文关系:结构化数据对象在某两个维度上产生的关系。例如银行交易数据可以按客户维度和时序维度产生关系、按交易IP维度和时序维度产生关系等。统计指标:用以描述数据对象的基本状况或具体特征的概念,可基于一个或多个维度。计算方法:为计算统计指标的结果而提供的算法。图1是根据本专利技术实施例的一种基于内存的数据处理方法的流程示意图。参照图1,所述方法包括:12:写入数据并建立多条链表。具体而言,将包括多条数据记录的结构化数据写入第一内存区域,并根据所述结构化数据的维度建立多条链表。其中,每一条链表中的数据域保存有用于访问属于不同数据记录但属于同一维度且具有相同值的数据元素的指针。在本专利技术中,数据元素可以简称为元素。可选地,在本实施例的一种实现方式中,一个维度对应至少一个链表,换言之,在一个链表中,其各个结点的数据域分别保存有用于访问不同数据记录中的在同一维度下且具有相同值的数据元素的指针。14:通过所述多条链表查找所述结构化数据中的数据元素。16:根据存储于第二内存区域的统计指标和计算方法进行数据处理。采用本实施例提供的数据处理方法,通过将结构化数据写入内存并基于内存中加载的统计指标和计算方法进行数据处理,相对于现有的数据库技术而言,能够大大降低I/O(输入/输出)开销、提高数据处理效率并及时返回统计结果的效果。图2A是根据本专利技术实施例的一种基于内存的数据处理整体流程示意图及相关存储结构示意图的一例,其中以箭头的方向示出了数据转换→建立链表和索引的整体顺序,通过建立索引便于对链表进行查找、增加和删除等修改。当然,在本实施例中并不限制建立链表和建立索引的具体顺序。下面参照图2A对图1所示实施例的部分实现方式以及所涉及到的相关存储结构进行说明。在图1所示实施例的一种实现方式中,在处理12之前,如图2A中所示,可以按照预设的数据结构将原始数据(例如,非结构化的交易流水数据)转换为所述结构化数据。在图1所示实施例的一种实现方式中,在处理12中通过以下方式将结构化数据写入第一内存区域:在所述第一内存区域为每一条数据记录分配一个首结点和与首结点地址连续的内存地址,将每一条数据记录中的数据元素存储于被分配的连续的内存地址中,以便根据首结点地址的偏移本文档来自技高网...

【技术保护点】
一种基于内存的数据处理方法,其特征在于,所述方法包括:将包括多条数据记录的结构化数据写入第一内存区域,并根据所述结构化数据的维度建立多条链表,每一条链表中的数据域保存用于访问属于不同数据记录但属于同一维度且具有相同值的数据元素的指针;通过所述多条链表查找所述结构化数据中的数据元素,并根据存储于第二内存区域的统计指标和计算方法进行数据处理。

【技术特征摘要】
1.一种基于内存的数据处理方法,其特征在于,所述方法包括:
将包括多条数据记录的结构化数据写入第一内存区域,并根据所述结构化数据的维度建立多条链表,每一条链表中的数据域保存用于访问属于不同数据记录但属于同一维度且具有相同值的数据元素的指针;
通过所述多条链表查找所述结构化数据中的数据元素,并根据存储于第二内存区域的统计指标和计算方法进行数据处理。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
按照预设的数据结构将接收到的原始数据转换为所述结构化数据。
3.如权利要求1所述的方法,其特征在于,所述将包括多条数据记录的结构化数据写入第一内存区域包括:
在所述第一内存区域为每一条数据记录分配一个首结点和与首结点地址连续的内存地址,将每一条数据记录中的数据元素存储于被分配的连续的内存地址中,以便根据首结点地址的偏移量访问数据元素。
4.如权利要求3所述的方法,其特征在于,根据所述结构化数据的维度建立多条链表包括:
对应每一条维度建立至少一条链表,并且与第一维度对应的链表包含所述首结点;
其中,所述首结点的数据域保存指向自身地址的指针;
其中,所述第一维度是指从结构化数据中读取数据以写入所述第一内存区域时首先读取的维度。
5.如权利要求3所述的方法,其特征在于,用于访问属于不同数据记录但属于同一维度且具有相同值的数据元素的指针包括:
指向所述具有相同值的数据元素所属数据记录的首结点地址的指针。
6.如权利要求1~5中任一项所述的方法,其特征在于,所述多条链表中的各个链表均包含双向链表存储结构。
7.如权利要求6所述的方法,其特征在于,
所述多条链表中的对应第k维度的链表中的结点还具有指向对应第k+1维度的链表中的同记录结点的指针,其中,所述同记录结点是指数据域保存有用于访问同一条数据记录中属于不同维度的数据元素的指针的结点,所述k为正整数。
8.如权利要求1~5中任一项所述的方法,其特征在于,通过所述多条链表查找所述结构化数据中的数据元素包括:
建立满足如下条件的索引结构:Key保存第一指针,value保存第二指针,所述第一指针指向所述结构化数据中的数据元素的实际内存地址,所述第二指针是相应链表的头指针,所述相应链表是数据域保存有用于访问所述第一指针指向的数据元素的指针的链表;
根据所述索引结构以及所述第二指针指向的链表查找所述结构化数据中的数据元素。
9.如权利要求1所述的方法,其特征在于,所述方法还包括:
将所述第二内存区域切换为所述第三内存区域;
根据存储于所述第三内存区域的更新的统计指标和计算方法代替存储于所述第二内存区域的统计指标和计算方法进行数据处理。
10.如权利要求9所述的方法,其特征在于,所述方法还包括:
通过可视化的图形界面配置所述更新的统计指标和计算方法;
将所述更新的统计指标和计算方法写入所述第三内存区域。
11.一种基于内存的数据处理装置,其特征在于,所述装置包括:
数据存储模块,用于将包括多条数据记录的...

【专利技术属性】
技术研发人员:梁学甲邓玉覃鹏禤栋雄龚苇梁永健任国力
申请(专利权)人:中国建设银行股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1