报表开发系统及方法、存储介质和电子设备与流程

文档序号:14195054阅读:152来源:国知局
报表开发系统及方法、存储介质和电子设备与流程

本发明涉及数据处理技术领域,具体而言,涉及一种报表开发系统、报表开发方法、存储介质和电子设备。



背景技术:

在大数据时代,运营分析对一个企业的发展起着至关重要的作用。尤其在医疗行业中,医疗机构日常运营数据的分析处理结果,对管理者的决策起到巨大的支持作用,并且可以有效提高稀缺医疗资源的利用率。

随着对医疗卫生事业越来越重视,医疗行业已呈现迅猛发展的态势,医院内部特别是三级医院中的医疗系统多达几十,甚至上百个,这些系统每天都会产生大量的业务数据。业务数据的特点是类型复杂多样,产生频次较高,数据量大,而且会有很多冗余数据。随着互联网技术的发展,这些数据越来越区趋于高度集中化,大规模数据中心逐步成立,对海量数据的存储、处理以及展示的专业系统的需求日益迫切。

另外,医疗机构内部各业务部门可能会提出各种各样的报表需求,后台技术服务部门虽然已尽力处理这些需求,然而,仍不能较好地快速应对业务部门的需求。因此,亟待需要一种快速高效满足业务发展的专业医疗大数据分析系统。

鉴于此,需要一种报表开发系统、报表开发方法、存储介质和电子设备。

需要说明的是,在上述背景技术部分公开的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。



技术实现要素:

本发明的目的在于提供一种报表开发系统、报表开发方法、存储介质和电子设备,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或者多个问题。

根据本发明的一个方面,提供一种报表开发系统,包括:

基础数据仓库,用于对各源系统的数据进行整合并存储整合后的数据;

主题模块,用于基于基础数据仓库按业务主题对不同源系统的共性数据进行分类存储;

分析模块,用于针对主题模块存储的数据定义数据指标并维护到目标维度表中,并基于spark架构进行数据查询和计算;

报表开发模块,用于根据用户提供的报表需求并结合主题模块和分析模块进行报表开发。

可选地,报表开发模块包括:

需求获取单元,用于获取用户的报表需求;

数据类型判断单元,用于根据报表需求确定报表数据类型;

共性报表开发单元,用于在数据类型判断单元判断出报表数据类型为共性数据时,将报表数据对应的数据指标整合到用户自助开发平台上以供用户自行开发报表;

个性报表开发单元,用于在数据类型判断单元判断出报表数据类型为个性数据时,将报表需求同步部署到开发终端和用户终端以供开发人员和用户结合主题模块和分析模块协同开发报表。

可选地报表开发模块还包括:

数据类型转换单元,用于当个性数据的出现频率大于一阈值时,将个性数据转换为共性数据。

可选地,分析模块包括:

spark计算单元,用于接收查询语句并对查询语句进行分析以生成一组rdd,判断查询语句中是否存在顺序指令,如果不存在顺序指令,则并行执行各rdd对应的任务并输出执行结果;如果存在顺序指令,则基于各rdd对应的任务的索引顺序执行各rdd对应的任务,并按索引顺序输出执行结果。

根据本发明的一个方面,提供一种报表开发方法,包括:

通过基础数据仓库对各源系统的数据进行整合并存储整合后的数据;

基于基础数据仓库按业务主题对不同源系统的共性数据进行分类存储;

定义按业务主题进行分类存储的数据的数据指标并维护到目标维度表中,基于spark架构进行数据查询和计算;

根据用户提供的报表需求并结合按业务主题分类存储的数据和spark架构进行报表开发。

可选地,根据用户提供的报表需求并结合按业务主题分类存储的数据和spark架构进行报表开发包括:

获取用户的报表需求;

根据报表需求确定报表数据类型;

在报表数据类型为共性数据时,将报表数据对应的数据指标整合到用户自助开发平台上以供用户自行开发报表;

在报表数据类型为个性数据时,将报表需求同步部署到开发终端和用户终端,以供开发人员和用户利用按业务主题分类存储的数据和spark架构协同开发报表。

可选地,报表开发方法还包括:

当个性数据的出现频率大于一阈值时,将个性数据转换为共性数据。

可选地,基于spark架构进行数据查询和计算包括:

接收查询语句并对查询语句进行分析以生成一组rdd;

判断查询语句中是否存在顺序指令;

如果不存在顺序指令,则并行执行各rdd对应的任务并输出执行结果;

如果存在顺序指令,则基于各rdd对应的任务的索引顺序执行各rdd对应的任务,并按索引顺序输出执行结果。

根据本发明的一个方面,提供一种存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任意一项的报表开发方法。

根据本发明的一个方面,提供一种电子设备,包括:

处理器;以及

存储器,用于存储处理器的可执行指令;

其中,处理器配置为经由执行可执行指令来执行上述任意一项的报表开发方法。

在本发明的一些实施例所提供的技术方案中,一方面,通过基础数据仓库对数据进行整合存储,避免了数据冲突和冗余,可以提高数据存取速度;另一方面,通过主题模块将数据按业务主题进行分类存储,可以避免频繁的需求变更对系统架构的影响,确保了数据逻辑的稳定性;再一方面,在分析模块中,对数据定义数据指标,规范了数据标准,可以确保数据的一致性,另外,通过spark架构进行数据查询和计算,大大提高了数据查询和计算的响应速度;又一方面,在报表开发模块中,可以根据用户的报表需求进行报表开发,增加了开发过程的灵活性并节省了开发资源。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1示出了目前一些技术的数据仓库的架构示意图;

图2示意性示出了根据本发明的示例性实施方式的报表开发系统的方框图;

图3示意性示出了根据本发明的示例性实施方式的分析模块的方框图;

图4示意性示出了根据本发明的示例性实施方式的报表开发模块的方框图;

图5示意性示出了根据本发明的示例性实施方式的另一报表开发模块的方框图;

图6示意性示出了根据本发明的示例性实施方式的报表开发方法的流程图;

图7示意性示出了根据本发明的示例性实施方式的基于spark构架进行数据查询和计算的流程图;

图8示意性示出了根据本发明的示例性实施方式的报表开发过程的流程图;

图9示意性示出了根据本发明的示例性实施方式的报表开发架构的一实施例的方框图;

图10示出了根据本发明的示例性实施方式的存储介质的示意图;以及

图11示意性示出了根据本发明的示例性实施方式的电子设备的方框图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。

此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

附图中所示的流程图仅是示例性说明,不是必须包括所有的步骤。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。

下面将以医疗系统中的报表开发为例对本发明的内容进行描述,然而,应当理解的是,本发明公开的报表开发系统及方法还可以应用于其他领域的报表开发及数据查询分析的过程中,本示例性实施方式中对此不做特殊限定。

在一些技术中,通常采用数据仓库技术对医疗数据进行存储分析。目前,数据仓库技术通常采用三层数据结构,具体的,三层数据结构可以包括业务源系统、数据仓库和应用集市。如图1所示,一方面,业务源系统可以包括但不限于业务源系统数据111、业务源系统数据112、业务源系统数据113和业务源系统数据114,这些源系统数据通常需要人工进行维护;另一方面,业务源系统中的数据可以由数据仓库120获取,数据仓库120可以将获取的数据进行统一整合,其可以是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合。通过数据仓库120,可以省去数据进行联合分析时需要前往不同源系统进行采集的过程;再一方面,数据仓库120可以将自身存储的数据发送至应用集市131、应用集市132和/或应用集市133以便具体应用这些数据。

目前,通常采用hadoop(一种分布式系统构架)平台构建的hbase数据库来替代传统的事务型数据仓库。hbase数据库支持海量数据的存储分析且具有良好的扩展性,可以在hbase数据库基础上建立数据分析和展示模块,形成经营报表分析系统。然而,对医疗数据的集成、分析以及展示仍存在以下问题:一方面,数据仓库将业务数据直接暴露给经营报表系统进行数据分析,造成业务数据和展示数据耦合度较高,经营报表系统内部模块之间的数据依赖性较强,计算出的数据指标不能复用,降低了系统的交互效率;另一方面,在报表展示的过程中,用户往往期望在点开一张报表时能得到快速的的响应,尤其是在移动端,因此面对海量数据,计算效率是一个不容忽视的问题,但目前的经营报表系统缺少专门的处理计算模块,或者计算模块的效率较低;再一方面,医疗行业发展迅猛,企业运营情况多变,业务部门可能急于获取某类报表,而目前报表开发模式不能满足业务部门的需求,待技术部门将报表开发完成后,可能会错过业务部门最佳需求的时间点。

鉴于此,本发明提供了一种报表开发系统。

图2示意性示出了本发明的示例性实施方式的报表开发系统的方框图。参考图2,所述报表开发系统2可以包括基础数据仓库21、主题模块23、分析模块25和报表开发模块27。下面将对报表开发系统2中的各模块进行详细说明。

基础数据仓库21,可以用于对各源系统的数据进行整合并存储整合后的数据。

各源系统中存储的是业务开展过程中的流程数据,以医疗系统为例,这些流程可以包括但不限于挂号、看诊、开处方、缴费、取药等。除his(hospitalinformationsystem,医院信息系统)外,用户可能同时使用了体检系统和/或财务系统,这些系统之间可能存在数据编码重复、甚至冲突的问题。

在本发明的示例性实施方式中,基础数据仓库21可以根据一数据模型将各源系统的数据抽取出来,并按照第三范式建模规则组织数据,随后,根据数据特征进行过滤和整合。其中,数据模型可以是由开发人员自行设定的与实际业务数据相关的模型,并且所述数据特征与该数据模型对应。这样的处理解决了数据冲突的问题,此时存储的数据并未增加,仅存储形式发生了变化,无需额外占用存储空间。

本发明的基础数据仓库21可以基于hadoop平台而构建,可以通过hbase数据库存储经历数据模型整合后的数据。另外,本发明还可以集成mongodb数据库。具体的,针对业务型数据特点,提前制定相应的数据过滤准则,提高数据的质量,并将源系统数据进行转换,存储到hbase数据库中;针对非关系型的数据,也可以存储到mongodb数据库,不需要提前创建数据结构,可以支持丰富的查询,同时可创建索引,对应生成一个高效的查询计划。

通过基础数据仓库对数据进行整合存储,避免了数据冲突和冗余,可以提高数据存取速度。

主题模块23,可以用于基于基础数据仓库21按业务主题对不同源系统的共性数据进行分类存储。

针对医疗系统,业务主题可以包括但不限于客户主题、绩效主题、运行主题、大病预测主题、公共主题等。主题模块23可以基于基础数据仓库21将不同源系统的共性数据抽取出来,将同一数据源中属于同一分析主题的表或表中某些字段组合在一起,为进一步的可视化操作提供基本元素。将业务数据通过业务主题进行存储,而非通过应用或应用需求进行组织存储,这样的益处在于保证数据逻辑的稳定性,即使频繁或颠覆性的需求更变也不会影响系统架构。

应当理解的是,基础数据仓库21与主题模块23在数据存储上的区别在于:一方面,基础数据仓库21负责将各个业务源系统的数据进行有效分类存储,主题模块23在基础数据仓库21基础上,将不同源系统的共性数据进行整合,建立标准,解决数据重复加工、数据孤岛的问题;另一方面,基础数据仓库21将源系统数据对应创建数据库存储,而主题模块23需要根据业务需求文档或系统架构设计等,通过完整的系统体系,集中创建不同的主题,并进行同步加工和部署;再一方面,基础数据仓库21和主题模块23在物理存储上是相对隔离的,基础数据仓库21存储的是各个源系统完整数据,而主题模块23存放的是在业务发展过程中衍生出来的共性数据,两者独立存储,避免数据冗余,提供数据访问速度。

此外,主题模块23可以包括但不限于业务对象、业务属性、过滤器和业务主题表关系等。其中,业务对象是构成业务主题的基本元素,业务对象可以嵌套业务对象,除第一级业务对象外,其余业务对象均可以新建业务子对象;业务属性是业务对象的基本组成元素,相当于表中的字段,可以在业务主题设备区进行业务属性的新建、编辑和删除;过滤器为业务属性表达式,其可以是四则运算或sql表达式;针对业务主题表关系,根据系统选项有全局关系和局部表关系,通过表关系设置,形成最终具有逻辑关系的主题集市。

分析模块25,可以用于针对主题模块存储的数据定义数据指标并维护到目标维度表中,并基于spark架构进行数据查询和计算。

医疗领域数据类型繁多,数据名称专业性较强,存在许多数据含义较接近的情况,为了保证管理者、决策者与一线业务人员提及到的是同一问题,需要建立数据标准,统一数据规范。

分析模块25可以建立指标定义。具体的,可以对主题模块23中存储的数据定义数据指标,仍以医疗系统为例,数据指标可以包括但不限于指标名称、指标等级、计算频率、表达式和计量单元等。随后,可以将这些数据指标维护到一目标维度表中,该目标维度表可以位于分析模块25的存储空间中,也可以位于其他存储空间,本示例性实施方式中对此不做特殊限定。另外,还可以对该目标维度表进行权限控制,也就是说,仅具有相应权限的人员才能对该目标维度表进行管理。

通过对数据定义数据指标,并将数据指标维护到目标维度表中,规范了数据标准,可以确保数据的一致性。

此外,hadoop提供的mapreduce计算框架可以分析海量数据,但是这种处理方式仍存在响应速度较慢,不能较好地满足当前用户需求的问题。鉴于此,参考图3,本发明的分析模块25还可以包括spark计算单元301。

具体的,spark计算单元301可以用于接收查询语句并对查询语句进行分析以生成一组rdd(resilientdistributeddataset,弹性分布式数据集),判断查询语句中是否存在顺序指令,如果不存在顺序指令,则并行执行各rdd对应的任务并输出执行结果;如果存在顺序指令,则基于各rdd对应的任务的索引顺序执行各rdd对应的任务,并按索引顺序输出执行结果。

通过spark架构进行数据查询和计算,大大提高了数据查询和计算的响应速度。

报表开发模块27,可以用于根据用户提供的报表需求并结合主题模块23和分析模块25进行报表开发。

参考图4,报表开发模块27可以包括需求获取单元401、数据类型判断单元403、共性报表开发单元405和个性报表开发单元407,其中:

需求获取单元401,可以用于获取用户的报表需求;

数据类型判断单元403,可以用于根据报表需求确定报表数据类型;

共性报表开发单元405,可以用于在数据类型判断单元判断出报表数据类型为共性数据时,将报表数据对应的数据指标整合到用户自助开发平台上以供用户自行开发报表;

个性报表开发单元407,可以用于在数据类型判断单元判断出报表数据类型为个性数据时,将报表需求同步部署到开发终端和用户终端以供开发人员和用户结合主题模块和分析模块协同开发报表。

针对共性报表开发单元405,由于主题模块23已对共性数据进行归类存储,分析模块25建立了对应的指标定义并通过spark模块对其进行计算,因此,用户只需在开发人员开发的自助平台上通过简单的数据筛选,即可快速开发出自己需要的报表。另外,针对用户的具体使用过程,在语义模型的基础上,可以进行数据的灵活自助查询,并可以使用切片、钻取、交叉、折叠、预警、排序等对数据进行分析,不需要用户有报表开发的专业技术,只要了解业务需求,即可完成报表开发。

具体的过程可以包括:首先,可以进行数据源连接和设置,主要包括数据源连接、添加表、语义层定义、表关系视图;随后,可以创建业务主题;接下来,可以创建组合分析和透视分析,仅需在界面上选择自己需要的业务数据和分析方式,即可创建组合分析,并且在组合分析基础上,选择上钻、下钻、切片等多维分析操作,形成透视分析;然后,可以发布浏览,报表创建完成后,在资源发布里可以通过选择电脑主题、平板主题、手机主题等方式,发布到不同的浏览终端,并且在发布的同时,还可以进行资源授权,针对不同用户分配不同权限,进而提高数据的安全性。

针对个性报表开发单元407,由开发人员开发,用户配合进行需求确认和测试验证,根据用户多样化的需求,开发人员在联合开发模块中可以进行地图分析、仪表分析、电子表格分析等,在基础数据仓库21的基础上,结合主题模块23和分析模块25,快速迭代开发完成用户的需求。

参考图5,相比于报表开发模块27,报表开发模块51除包括需求获取单元401、数据类型判断单元403、共性报表开发单元405和个性报表开发单元407外,还可以包括数据类型转换单元501,其中:

数据类型转换单元501,可以用于当个性数据的出现频率大于一阈值时,将所述个性数据转换为共性数据。其中,该阈值可以由开发人员根据实际业务情况自行设定,例如,该阈值可以为一天10次,也就是说,如果一个性数据在一天中出现10次,则可以将该个性数据转换为共性数据。由此,个性报表开发单元407可以切换至共性报表开发单元405,用户可以即可自行进行开发。

在本发明的示例性实施方式的报表开发系统中,一方面,通过基础数据仓库对数据进行整合存储,避免了数据冲突和冗余,可以提高数据存取速度;另一方面,通过主题模块将数据按业务主题进行分类存储,可以避免频繁的需求变更对系统架构的影响,确保了数据逻辑的稳定性;再一方面,在分析模块中,对数据定义数据指标,规范了数据标准,可以确保数据的一致性,另外,通过spark架构进行数据查询和计算,大大提高了数据查询和计算的响应速度;又一方面,在报表开发模块中,可以根据用户的报表需求进行报表开发,可以增加开发过程的灵活性并节省了开发资源。

进一步的,本示例实施方式中还提供了一种报表开发方法。

图6示意性示出了根据本发明的示例性实施方式的报表开发方法的流程图。参考图6,本发明的报表开发方法可以包括以下步骤:

s60.通过基础数据仓库对各源系统的数据进行整合并存储整合后的数据。

在本发明的示例性实施方式中,基础数据仓库可以根据一数据模型将各源系统的数据抽取出来,并按照第三范式建模规则组织数据。随后,根据与该数据模型对应的数据特征进行过滤和整合,并存储整合后的数据。另外,基础数据仓库可以基于hadoop平台而构建,并且可以将整合后的数据存储至hbase数据库或mongodb数据库。

通过基础数据仓库对数据进行整合存储,避免了数据冲突和冗余,可以提高数据存取速度。

s62.基于基础数据仓库按业务主题对不同源系统的共性数据进行分类存储。

可以基于基础数据仓库将不同源系统的共性数据抽取出来,将同一数据源中属于同一分析主题的表或表中某些字段组合在一起,为进一步的可视化操作提供基本元素。将业务数据通过业务主题进行存储,而非通过应用或应用需求进行组织存储,这样的益处在于保证数据逻辑的稳定性,即使频繁或颠覆性的需求更变也不会影响系统架构。

s64.定义按业务主题进行分类存储的数据的数据指标并维护到目标维度表中,并基于spark架构进行数据查询和计算。

通过对数据定义数据指标,并将数据指标维护到目标维度表中,规范了数据标准,可以确保数据的一致性。

此外,参考图7,对本发明的基于spark架构进行数据查询和计算的过程进行示例性说明。

在步骤s701中,用户可以根据自身需求自定义sql查询语句;在步骤s703中,可以将sql查询语句输入spark架构对应的模块;在步骤s705中,可以调用spark应用程序的数据输入接口将该sql查询语句发送给spark应用程序;在步骤s707中,spark可以对该sql查询语句进行语法分析,生成一组rdd序列,并且生成这组rdd时会对应生成一个索引表,用于存储每个job及其索引值,每个rdd对应一个job,代表对数据的一次操作,所有job完成后,才能完成一次完整的查询;在步骤s709中,生成job,将job提交给eventprocessactor(一事件处理执行器),并且调用spark的接口提交job,每个job对应一个task。在步骤s711中,进行语法分析,判断提交job的sol查询语句是否有orderby(即上面提及的顺序指令),如果有,则步骤跳转至步骤s713,如果没有,则步骤跳转至步骤s723;在步骤s713中,需要判断task对应的索引值;在步骤s715中,根据确定出的索引值,如果索引值不同,则按索引值从小到大顺序执行,如果索引值相同,则各个task并行执行;在步骤s717中,判断刚执行完task对应索引值是否是输出结果索引值的下一位,如果是,则步骤跳转至步骤s727,如果不是,则步骤跳转至步骤s719;在步骤s719中,可以临时将索引值存放在内存中;在步骤s721中,如果输出索引值排到内存中的task对应的索引值时,步骤跳转至步骤s727;在步骤s727中,直接输出到spark的sql输出模块;另外,在步骤s723中,各个task可以并行执行;在步骤s725中,每个task完成后,通知spark的context;在步骤s729中,可以将查询结果陆续反馈给用户;在步骤s731中,在所有task输出完毕后,整个查询结束。

通过上述流程,可以大大提高查询的响应速度。另外,当用户自定义的sql查询是简单无序的查询时,庞大的数据量可以分成多个task并行执行,满足条件即可立即输出,如果是复杂的有序查询,也可以根据分解job时生成的索引值表,按顺序输出,不需要等到所有task都完成后才输出,既避免了数据溢出,又可以提高查询响应速度。

s66.根据用户提供的报表需求并结合按业务主题分类存储的数据和spark架构进行报表开发。

具体的,首先,可以获取用户的报表需求;随后,可以根据报表需求确定报表数据类型;接下来,在判断出报表数据类型为共性数据时,可以将报表数据对应的数据指标整合到用户自助开发平台上以供用户自行开发报表,在判断出报表数据类型为个性数据时,可以将报表需求同步部署到开发终端和用户终端,以供开发人员和用户利用按业务主题分类存储的数据和spark架构协同开发报表。

此外,当个性数据的出现频率大于一阈值时,可以将个性数据转换成共性数据。其中,该阈值可以是开发人员根据历史数据或经验自行设定的频率阈值,本示例性实施方式中对此不做特殊限定。

参考图8对报表开发的过程进行说明。在步骤s801中,可以获取报表需求;在步骤s803中,可以判断报表数据类型,如果为个性数据,则步骤可以跳转至步骤s807,如果为共性数据,则步骤可以跳转至步骤s805;在步骤s805中,可以根据开发人员指定的目标维度表,通过简单筛选(操作上,可以通过拉拽的方式实现筛选)进行自助开发;在步骤s807中,用户可以配合开发人员协同开发、测试;在步骤s809中,可以进行对报表资源授权的过程;在步骤s811中,报表资源可以通过pc端和移动端同时发布。另外,当个性数据出现频率大于一阈值时,可以将该个性数据转换为共性数据。

在本发明的示例性实施方式的报表开发方法中,一方面,通过基础数据仓库对数据进行整合存储,避免了数据冲突和冗余,可以提高数据存取速度;另一方面,将数据按业务主题进行分类存储,可以避免频繁的需求变更对系统架构的影响,确保了数据逻辑的稳定性;再一方面,对数据定义数据指标,规范了数据标准,可以确保数据的一致性,另外,通过spark架构进行数据查询和计算,大大提高了数据查询和计算的响应速度;又一方面,可以根据用户的报表需求进行报表开发,增加了开发过程的灵活性并节省了开发资源。

应当注意,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。

图9示意性示出了根据本发明的示例性实施方式的报表开发架构的一实施例的方框图。该实施例以医疗系统为例,其中,该架构可以包括统一管理平台90、源系统91、企业数据仓库(edw)92、开发平台93、应用平台94、终端95和用户96等。具体的,源系统91可以包括医疗系统中的his、emr(electronicmedicalrecord,电子病案记录)、lis(laboratoryinformationsystem,检验科信息系统)、pacs(picturearchivingandcommunicationsystems,医学影像存档与通讯系统)等;企业数据仓库92可以包括技术接口层、标准数据层、主题模块和分析模块,其中,主题模块又可以包括数据整合层和公共汇总层,分析模块又可以包括业务逻辑单元和数据计算单元;开发平台93可以包括自助开发模块、联合开发模块、授权模块和发布模块;应用平台94可以包括企业报表、驾驶舱、经营分析等;终端95可以包括pc、手机及其他移动终端;用户96可以包括决策层、管理层和业务层,等等。

根据本发明的一个实施例,针对一个二级康复医院,首先,可以将康复医院内部his、lis、pacs、emr、康复系统、长期护理服务系统等业务系统数据全部集成到数据仓库中,数据量可以达到tb级;接下来,在主题模块中根据业务范围和业务方需求在数据仓库之上建立了门诊、住院、体检、康复、长期护理等不同的主题子模块,在子模块基础上,梳理数据指标500余个,形成目标维度表,通过spark工具进行数据处理及计算。在该实施例中,共计15个部门100余位业务人员在报表开发模块上开发了94张报表,技术人员开发了39张报表,开发的报表展示数据的维度较之前更丰富。另外,例如,之前开发一张报表需要花费需求人员、设计人员、开发人员共计4天时间,而采用本发明所述的报表开发系统仅需一天即可完成开发,不仅提高了企业员工的工作效率,而且较好地支撑了业务发展的需要,方便快捷地为企业管理层提供合理的决策支持。

在本发明的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。

参考图10所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品1000,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

在本发明的示例性实施例中,还提供了一种能够实现上述方法的电子设备。

所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。

下面参照图11来描述根据本发明的这种实施方式的电子设备1100。图11显示的电子设备1100仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图11所示,电子设备1100以通用计算设备的形式表现。电子设备1100的组件可以包括但不限于:上述至少一个处理单元1110、上述至少一个存储单元1120、连接不同系统组件(包括存储单元1120和处理单元1110)的总线1130、显示单元1140。

其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元1110执行,使得所述处理单元1110执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元1110可以执行如图6中所示的步骤s60:通过基础数据仓库对各源系统的数据进行整合并存储整合后的数据;步骤s62:基于基础数据仓库按业务主题对不同源系统的共性数据进行分类存储;步骤s64:定义按业务主题进行分类存储的数据的数据指标并维护到目标维度表中,基于spark架构进行数据查询和计算;步骤s66:根据用户提供的报表需求并结合按业务主题分类存储的数据和spark架构进行报表开发。

存储单元1120可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)11201和/或高速缓存存储单元11202,还可以进一步包括只读存储单元(rom)11203。

存储单元1120还可以包括具有一组(至少一个)程序模块11205的程序/实用工具11204,这样的程序模块11205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

总线1130可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。

电子设备1100也可以与一个或多个外部设备1200(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备1100交互的设备通信,和/或与使得该电子设备1100能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口1150进行。并且,电子设备1100还可以通过网络适配器1160与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器1160通过总线1130与电子设备1100的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1100使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。

此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。

应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1