著录项信息
专利名称 | 数据分析型软件开发框架系统 |
申请号 | CN201310307484.X | 申请日期 | 2013-07-19 |
法律状态 | 授权 | 申报国家 | 暂无 |
公开/公告日 | 2015-01-21 | 公开/公告号 | CN104298496A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F9/44 | IPC分类号 | G;0;6;F;9;/;4;4查看分类表>
|
申请人 | 上海宝信软件股份有限公司 | 申请人地址 | 上海市浦东新区张江高科技园区郭守敬路515号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 上海宝信软件股份有限公司 | 当前权利人 | 上海宝信软件股份有限公司 |
发明人 | 樊后礼;冯安平 |
代理机构 | 上海汉声知识产权代理有限公司 | 代理人 | 郭国中 |
摘要
本发明提供了一种数据分析型软件开发框架系统,包括客户端框架模块、服务器执行引擎、服务器基础类库模块、接口,服务器基础类库模块包括基础类库、矩阵类库、数据源类库、数据可视化类库、数学运算类库、算法类库、数据处理类库。本发明的有益效果是快速开发数据分析方面的算法、快速集成数据分析方面已有算法,扩展数据分析型软件系统功能,降低软件开发成本;按照现实中数据分析的流程特点,使用过程流及作业的方式来解决实际数据分析/系统建模相关事务,不同解决方案可以通过不同的过程流及作业来完成,降低企业软件使用的成本;从框架底层库设计中对软件跨平台、大数据方面进行了实现,扩大了软件的使用范围,扩大了软件的服务对象。
1.一种数据分析型软件开发框架系统,包括客户端框架模块、服务器执行引擎、服务器基础类库模块、接口,其特征在于,服务器基础类库模块包括基础类库、矩阵类库、数据源类库、数据可视化类库、数学运算类库、算法类库、数据处理类库;
基础类库,基础类库用于提供数据结构、工具性类库、跨平台及跨系统相关API及其实现;其中,对于不同操作系统功能相同但定义不同的系统API通过重新封装技术来解决跨系统问题;
矩阵类库用于以矩阵形式对数据进行存储及加载;
数据源类库用于从数据源中获取记录集及字段信息,对于记录集信息提供按记录块或矩阵两种方式访问,记录块的访问方式用在数据处理中,矩阵访问方式用在数学运算上;
数据可视化类库用于对数据源、算法结果中的数据进行可视化,数据可视化类库包括图形及图表展示;
数学运算类库用于实现算法的元运算及矩阵运算;
算法类库包括统计分析函数、数据挖掘函数、数学优化函数;
数据处理类库用于实现数据处理操作。
2.根据权利要求1所述的数据分析型软件开发框架系统,其特征在于,数学运算类库包括如下任一种或任多种函数:
矩阵基本操作相关函数、矩阵分解的相关函数、同矩阵相关的基本数学函数、数据分析相关函数、数值微积分相关函数、随机数相关函数、随机变量的描述相关函数、随机变量的累积概率相关函数、随机变量的逆累积分布相关函数、随机变量的数字特征相关函数、参数估计相关函数、假设检验相关函数、统计与概率相关函数。
3.根据权利要求1所述的数据分析型软件开发框架系统,其特征在于,数据处理类库用于实现如下任一种或任多种数据处理操作:
重编码、数据排序、数据合并、对数据进行变换和计算、缺失值处理、异常值处理、数据过滤、数据抽样、行列转换、记录处理、变量处理、文件合并、数据重构、分类汇总。
4.根据权利要求1所述的数据分析型软件开发框架系统,其特征在于,接口包括框架类接口、功能类库对外接口,其中,框架类接口定义了框架内各个成员间相互交互的一种协议,功能类库对外接口定义了所有类库对外提供服务的窗口。
5.根据权利要求4所述的数据分析型软件开发框架系统,其特征在于,功能类库对外接口包括原生型语言接口、组件型接口、SOA型接口中的任一种或任多种接口。
6.根据权利要求1所述的数据分析型软件开发框架系统,其特征在于,服务器执行引擎包括算法执行引擎,其中,算法执行引擎用于在多用户或算法服务部署在多个服务器的场合下,实现接收、分发、执行、回复服务请求的功能。
7.根据权利要求1所述的数据分析型软件开发框架系统,其特征在于,服务器执行引擎包括过程流/作业执行引擎,其中,过程流/作业执行引擎用于在客户端框架模块为过程流形式操作时,接收客户端框架模块写入的过程流信息,或者用于负责解析客户端框架模块写入的信息,并通过调用算法执行引擎或框架类接口执行信息里面相关的服务指令。
8.根据权利要求1所述的数据分析型软件开发框架系统,其特征在于,客户端框架模块包括客户端类库,其中,客户端类库采用MVC型模式、插件式框架,客户端类库用于实现客户端框架模块的操作,客户端框架模块的操作包括过程流式、传统菜单式、用户自定义式中的任一种或任多种方式。
9.根据权利要求1所述的数据分析型软件开发框架系统,其特征在于,矩阵类库用于通过磁盘加内存片及智能预加载方式以矩阵形式对数据进行存储及加载,其中,磁盘加内存片具体是指:将数据储存在磁盘、以及一定数量与大小的内存片上;
智能预加载具体是指:根据算法运行的特性,提前将磁盘中的数据加载到内存片上,使计算器能够连续获取到数据,而无需等待。
数据分析型软件开发框架系统\n技术领域\n[0001] 本发明属于数据分析、商业智能、决策支持等方面的计算机领域,涉及到以过程流形式驱动的统计分析、数据挖掘、文本挖掘、数学优化、数据处理、机器学习、大数据处理等方面的软件开发技术。\n背景技术\n[0002] 随着企业、政府等单位的信息化建设飞速发展,数据及其所包含的信息量越来越多,如何利用这些包含巨大信息量的数据都是大家所关心的问题。数据分析(统计、挖掘)作为商务智能的核心技术,又成为企业经营管理所关心的关键问题之一,自上个世纪九十年代起,国际大型企业普遍开始采用商务智能技术使企业经营管理更新换代。然而,不同客户需求千差万别,市场竞争全球化,使开发周期不断缩短,大量的数据分析算法及建模流程作业化在实际应用中广泛使用,如何快速集成市面上已有算法或开发出新的算法并以作业化方式运行面临比较大的挑战。\n[0003] 在数据分析过程中,一般包括数据处理、数据探索、模型训练、模型应用、产生报表等诸多过程,而在不同的作业中,每个过程选择的方法不尽相同,但针对同一个作业,一旦建立了一种分析方法,在流程与算法选择上一般不会发生改变,改变的只是数据。且随着时间的推移,用户都将是大数据的产生者。针对数据分析中的这些特点,IT软件商提供的产品应该具有鲜明的特色来支持这种变与不变的特性改。\n[0004] 经检索发现如下专利文献:\n[0005] 申请号:200710069949.7,名称:一种面向数据分析类仪器设备的软件应用框架及应用该框架开发嵌入式系统的装置和方法。该发明公开了一种应用软件应用框架快速开发数据分析类仪器设备嵌入式软件系统的方法与装置。该方法提供一个数字化数据分析类仪器嵌入式软件应用框架,该框架提供复用代码,实现了典型的嵌入式数据分析类仪器设备的业务功能,定义了设备主从处理器之间的通讯协议流程;同时该框架建立在一组面向数字化数据分析类仪器设备的嵌入式软件应用构件库,使得框架结构更为合理,并且框架的适应性修改和演化十分方便。该发明还提供了一个应用上述框架快速开发数字化数据分析类仪器嵌入式系统的装置,为数据分析类仪器设备嵌入式系统开发提供了设计和代码的复用,增强了系统的模块化和可重用性,缩短了系统的开发周期,并提高了系统的可靠性。\n[0006] 目前市面提供数据分析的产品很多,有SAS、SPSS、EViews、R、Weka等等,但这些产品都有不同的缺陷,这些缺陷可罗列如下:\n[0007] ●新的算法无法快速开发与集成\n[0008] ●已有的算法无法快速与现有系统集成\n[0009] ●菜单或命令式操作,无法满足现实中流程式的业务方式\n[0010] ●数据处理方面功能不全面,需要借助其他软件进行数据处理\n[0011] ●不能完美支持数据分析中变与不变的特性\n[0012] ●不能或不是很好地支持大数据\n[0013] ●产品不能很好的跨平台、跨系统\n发明内容\n[0014] 针对现有技术中的缺陷,本发明的目的是提供一种数据分析型软件开发框架系统。从而解决现有技术的如下技术问题:\n[0015] ●无法快速集成已有算法、开发新算法及数据分析方面的软件系统,导致企业软件开发成本高的问题\n[0016] ●实际数据分析/系统建模过程中,软件操作不友好、不符合业务操作方式的问题[0017] ●不支持大数据的问题\n[0018] ●不能跨平台及跨系统的问题\n[0019] 根据本发明的一个方面,提供一种数据分析型软件开发框架系统,包括客户端框架模块、服务器执行引擎、服务器基础类库模块、接口,服务器基础类库模块包括基础类库、矩阵类库、数据源类库、数据可视化类库、数学运算类库、算法类库、数据处理类库;\n[0020] 基础类库,基础类库用于提供数据结构、工具性类库、跨平台及跨系统相关API及其实现;\n[0021] 矩阵类库用于以矩阵形式对数据进行存储及加载;\n[0022] 数据源类库用于从中数据源中获取数记录集及字段信息,对于记录集信息提供按记录块或矩阵两种方式访问,记录块的访问方式主要用在数据处理中,矩阵访问方式主要用在数学运算上;\n[0023] 数据可视化类库用于对数据源、算法结果中的数据进行可视化,数据可视化类库包括图形及图表展示。\n[0024] 数学运算类库用于实现算法的元运算及矩阵运算;\n[0025] 算法类库包括统计分析函数、数据挖掘函数、数学优化函数;\n[0026] 数据处理类库用于实现数据处理操作。\n[0027] 优选地,数学运算类库包括如下任一种或任多种函数:\n[0028] 矩阵基本操作相关函数、矩阵分解的相关函数、同矩阵相关的基本数学函数、数据分析相关函数、数值微积分相关函数、随机数相关函数、随机变量的描述相关函数、随机变量的累积概率相关函数、随机变量的逆累积分布相关函数、随机变量的数字特征相关函数、参数估计相关函数、假设检验相关函数、统计与概率相关函数。\n[0029] 优选地,数据处理类库用于实现如下任一种或任多种数据处理操作:\n[0030] 重编码、数据排序、数据合并、对数据进行变换和计算、缺失值处理、异常值处理、数据过滤(查询)、数据抽样、行列转换、记录处理、变量处理、文件合并、数据重构、分类汇总。\n[0031] 优选地,接口包括框架类接口、功能类库对外接口,其中,框架类接口定义了框架内各个成员间相互交互的一种协议,功能类库对外接口定义了所有类库对外提供服务的窗口。\n[0032] 优选地,功能类库对外接口包括原生型语言接口、组件型接口、SOA型接口中的任一种或任多种接口。\n[0033] 优选地,服务器执行引擎包括算法执行引擎,其中,算法执行引擎用于在多用户或算法服务部署在多个服务器的场合下,实现接收、分发、执行、回复服务请求的功能。\n[0034] 优选地,服务器执行引擎包括过程流/作业执行引擎,其中,过程流/作业执行引擎用于在客户端框架模块为过程流形式操作时,接收客户端框架模块写入的过程流信息,或者用于负责解析客户端框架模块写入的信息,并通过调用算法执行引擎或框架类接口执行信息里面相关的服务指令。\n[0035] 优选地,客户端框架模块包括客户端类库,其中,客户端类库采用MVC型模式、插件式框架,客户端类库用于实现客户端框架模块的操作,客户端框架模块的操作包括过程流式、传统菜单式、用户自定义式中的任一种或任多种方式。\n[0036] 优选地,矩阵类库用于通过磁盘加内存片及智能预加载方式以矩阵形式对数据进行存储及加载,其中,\n[0037] 磁盘加内存片具体是指:将数据储存在磁盘、以及一定数量与大小的内存片上;\n[0038] 智能预加载具体是指:根据算法运行的特性,提前将磁盘中的数据加载到内存片上,使计算器能够连续获取到数据,而无需等待。\n[0039] 与现有技术相比,本发明具有如下的有益效果:\n[0040] 由于采用了上述技术方案,本发明的有益效果是:\n[0041] (1)快速开发数据分析方面的算法、快速集成数据分析方面已有算法,扩展数据分析型软件系统功能,降低软件开发成本;\n[0042] (2)按照现实中数据分析的流程特点,使用过程流及作业的方式来解决实际数据分析/系统建模相关事务,不同解决方案可以通过不同的过程流及作业来完成,降低企业软件使用的成本;\n[0043] (3)从框架底层库设计中对软件跨平台、大数据方面进行了实现,扩大了软件的使用范围,扩大了软件的服务对象。\n附图说明\n[0044] 通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:\n[0045] 图1为数据分析型软件开发框架系统的结构示意图;\n[0046] 图2为数据分析型软件开发框架系统的二次开发流程图。\n具体实施方式\n[0047] 下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。\n[0048] 为了解决目前常见软件中存在的问题,本发明从数据分析型软件开发框架设计着手,对问题进行解决。\n[0049] 如图1示出的数据分析型软件开发框架系统的结构示意图,所述数据分析型软件开发框架系统包括客户端框架、服务器执行引擎、服务器基础类库及其接口三部分,这三部分构成了一种数据分析型软件的核心,也完成了数据分析型软件的绝大部分功能,IT型软件公司只要在此产品上对功能进行组合或添加一些新的功能,就能构成面向某个领域的解决方案。下面是对该开发框架中每一个模块的描述。\n[0050] 1)、基础类库\n[0051] 基础类库提供常见的数据结构、工具性类库、跨平台及跨系统相关API及其实现,对于不同操作系统功能相同但定义不同的系统API通过重新封装技术来解决跨系统问题,对于浮点数及整数长度等问题通过重新定义类型等技术来实现。通过工厂模式、MVC模式等技术来解决不同系统之间的实现及界面同核心功能脱离的问题。\n[0052] 2)、矩阵类库\n[0053] 矩阵是本发明中最基本的一种数据类型也是一项最重要的技术,所有的数学运算都基于矩阵,标量、向量、高维数组、关系型数据库表数据都是矩阵的一种表现形式。通过矩阵技术可以用最简单的数据类型来描述及解决客观世界中最广泛的问题,从天体、导弹的运行轨迹到日常生活中的商业规律、文本挖掘等等最终都可以转化为矩阵运算问题。本发明中的矩阵采用“磁盘加内存片”及“智能预加载”技术对数据进行存储及加载,采用该技术后矩阵可以快速对大数据进行操作,因为所有的数学运算都是构建在矩阵上,所以也就解决了解决一般数据分析软件不支持大数据或性能不高的问题。\n[0054] 3)、数据源类库\n[0055] 数据源类库的主要功能是从中数据源中获取数记录集及字段信息,对于记录信息可以提供按记录块或矩阵两种方式访问,记录块的访问方式主要用在数据处理中,如ETL控件访问,矩阵访问方式主要用在数学运算上(即提供基于数据库的数学运算技术)。无论是数据块还是矩阵访问方式,底层库都提供了抽象的接口(IDataSet、IMatrix),任何一种数据源只要实现了这两种接口,都可以被本发明中的其它类库调用,因此,本方面中的框架理论上基本支持所有数据源。\n[0056] 4)、数据可视化类库\n[0057] 现有技术中,数据可视化类库能够对数据源、算法结果中的数据进行可视化,本发明中提供的算法类库、数据源类库不提供可视化服务,可视化工作由数据可视化类库来负责,将数据提供者、数据显示者分开有利于降低类库之间的耦合度及可视化的自由度。可视化类库包括常见的图形及图表展示。\n[0058] 5)、数学运算类库\n[0059] 数学运算类库是本发明中的重要类库之一,所有算法的元运算及矩阵运算都在此类库中实现,包括:矩阵基本操作相关函数、矩阵分解的相关函数、同矩阵相关的基本数学函数、数据分析相关函数、数值微积分相关函数、随机数相关函数、随机变量的描述相关函数、随机变量的累积概率相关函数、随机变量的逆累积分布相关函数、随机变量的数字特征相关函数、参数估计相关函数、假设检验相关函数、统计与概率相关函数等。\n[0060] 6)、算法类库\n[0061] 算法类库是在矩阵类库、数学运算类库的基础上再开发的一组类库,包括统计分析、数据挖掘、数学优化三方面的常用算法。用户可以在实现本发明框架接口的情况下添加新的算法类库,扩充数据分析型软件的功能。\n[0062] 7)、数据处理类库\n[0063] 数据处理类库包括常见的数据处理操作功能,包括:重编码、数据排序、数据合并、对数据进行变换和计算、缺失值处理、异常值处理、数据过滤(查询)、数据抽样、行列转换、记录处理、变量处理、文件合并、数据重构、分类汇总等。\n[0064] 8)、接口\n[0065] 本发明中所描述的接口分为两类:框架类接口、功能类库对外接口。框架类接口定义了框架内各个成员间相互交互的一种协议,功能类库对外接口定义了所有类库对外提供服务的窗口,它分为c/c++、java、c#等原生型语言接口、组件型接口、SOA型接口,满足多种开发环境下的调用。\n[0066] 9)、算法执行引擎\n[0067] 算法执行引擎主要用在多用户或算法服务部署在多个服务器的场合下,它具备接收、分发、执行、回复服务请求的功能。在单机版的情况下,可以不部署该引擎,客户端可以通过直接调用功能型类库的接口呼叫算法服务。\n[0068] 10)、过程流/作业执行引擎\n[0069] 过程流/作业执行引擎主要用在客户端为过程流形式操作的情况,客户端将过程流信息写入到过程流/作业执行引擎或该引擎可以访问的服务端,引擎负责解析客户端写入的信息,并通过调用算法执行引擎或类库接口执行信息里面相关的服务指令。\n[0070] 11)、客户端框架类库\n[0071] 客户端类库采用MVC型模式、插件式框架,容易扩展与其他系统集成,该框架完成了除插件自身功能之外的所有其他功能。客户端的操作方式可以是过程流式、传统菜单式或用户自定义式。文件的打开、文件的保存、文件的关闭、复制、粘贴、用户操作历史的自动保存及还原、日志的输出等常见操作都已经在框架类库完成,二次开发者所需要关注的仅仅是插件自身功能的开发。\n[0072] 如图2示出的数据分析型软件开发框架系统的二次开发流程图所示,在进行二次开发(功能扩展、插件开发)时,按照如下流程进行:\n[0073] 1)、首先将现实中的数据分析、优化等问题转化为相应的数学问题,调用系统中的矩阵、数学运算等模块对数学问题进行求解;\n[0074] 2)、对步骤1中的代码以库方式编译导出,并实现框架中的算法接口;\n[0075] 3)、实现框架中的算法参数/属性设置界面接口;\n[0076] 4)、对步骤2)、3)中的结果打包成jar文件;\n[0077] 5)、按照模板,书写配置文件,并同步骤4)中的jar文件一起部署到数据分析型软件对应的目录文件夹下;\n[0078] 按照上面的5个步骤,就完成了数据分析软件功能扩展相关事务。\n[0079] 在本发明的一个优选的具体实施方式中,以“南水北调东线工程江苏段水资源优化配置”系统为列来说明如何采用本发明来进行现实中的开发。“南水北调东线工程江苏段水资源优化配置”是一个解决水资源优化分配问题的系统,用到了数学优化方面的算法,按照图2所描述的步骤,使用方法步骤如下:\n[0080] 1)、按照现实中的问题,归纳出南水北调的优化目标及约束条件;\n[0081] 2)、调用本发明算法类库中的多目标规划算法,对步骤1中的问题进行求解编码,并实现IPlugin、IPluginDialog等接口,实现算法参数输入界面;\n[0082] 3)、按照图2中的步骤所示,对代码打包部署。\n[0083] 以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
法律信息
- 2017-06-23
- 2015-02-18
实质审查的生效
IPC(主分类): G06F 9/44
专利申请号: 201310307484.X
申请日: 2013.07.19
- 2015-01-21
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2010-12-01
|
2009-05-27
| | |
2
| |
2009-05-20
|
2008-11-14
| | |
3
| |
2008-10-22
|
2008-05-30
| | |
4
| | 暂无 |
2009-03-27
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |