一种流程化数据处理方法及系统与流程

文档序号:23305338发布日期:2020-12-15 11:35阅读:145来源:国知局
一种流程化数据处理方法及系统与流程
本发明涉及表格数据处理
技术领域
,特别是涉及一种流程化数据处理方法及系统。
背景技术
:表格数据是很多行业需要进行日常处理分析的数据类型。比如,司法审计通过对银行卡违规行为的统计分析,及时进行借贷行为限制与预警、发现违规违法经济问题线索等;销售行业统计各部门各公司销售业绩等、市场分析通过对商场商品库存销售情况进行统计分析,及时补充货源,获取高利润商品信息等。对于一些行业表格数据处理业务,现有的桌面版或网络版表格数据处理软件或平台(如excel)存在诸多局限:一、难以处理复杂表格格式。每个业务部门的表格数据都有着自己的特定格式,如表头所在行、结尾统计行等,采用传统的excel和其他软件很难处理此类数据。二、难以处理大数据量的表格数据处理业务。当excel的数据量过大的时候,它的查询和计算的速度会明显下降,甚至极易卡死。比如:一个小小的超市,10名收款柜台员每天接待200人每人10件商品,excel效率极度下降,很难完成任务。三、专业性强,门槛高。使用现有的很多功能需要对软件有较深入的专业学习,比如运用透视(vlookup)、求和(sum)、平均值(average)、最大值(max)、最小值(min)等函数,对于未学习过此类函数的人员则无法使用这些功能,编程对于大多数人来说更是头疼。四、自动化程度不高。每一项业务分析都需要用户根据具体的业务针对性设计计算流程,需要手动调用组合各类函数。五、耗时费力。有些工作采用传统软件很难或无法处理,需要人工逐条比对或拷贝,无法保证准确性且消耗大量时间和人力成本。六、周期性重复工作。有些业务是周期性的,如每天、每周、每月统计报表等,传统方式,需要我们在每次任务来时重复性的手工处理,但其实每次的业务和处理方式是一致的。技术实现要素:本发明提供了一种流程化数据处理方法及系统。能够替代复杂的excel公式和编程进行数据分析处理,并能够解决excel无法处理或需要很强专业知识才能处理的问题。本发明提供了如下方案:一种流程化数据处理方法,包括:接收用户终端设备发送的以图的方式进行保存的待执行表格数据以及目标操作信息,所述图包括若干节点以及若干边,所述节点包括目标操作节点以及数据源节点,所述边用于从一个节点指向另一个节点并保存数据流向信息;遍历所有节点确定起始节点,所述起始节点为所述数据源节点;读取所述起始节点包含的表格数据;遍历所有所述边确定与所述起始节点相关的所有边;根据确定的所述所有边确定与所述起始节点相关的目标操作节点;根据所述目标操作节点包含的目标操作信息确定执行算法,并执行所述执行算法生成执行结果;将所述执行结果返回所述用户终端设备,以便所述用户终端设备对所述执行结果进行展示。优选地:所述目标操作信息包括操作方式和/或操作对象。优选地:所述操作方式和/或所述操作对像为所述用户终端设备根据用户输入的结果所确定。优选地:从硬盘中读取所述起始节点包含的表格数据,从所述目标操作节点中读取目标操作信息。优选地:根据确定的所述所有边确定与所述起始节点相关的目标操作节点,包括:遍历所述确定的所有边判断所述起始节点是否为所述确定的所有边的起点,若是,则所述确定的所有边各自的终点对应的节点即为与所述起始节点相关的目标操作节点。优选地:所述起始节点包括两个其分别保存有第一表格数据以及第二表格数据,所述第一表格数据包括银行流水数据,所述银行流水数据包括姓名、身份证号、金额以及日期;所述第二表格数据包括人员名单数据,所述人员名单数据包括姓名、身份证号以及工作单位;所述目标操作节点包括在所述第一表格数据中查找所述第二表格数据中包含的人员记录的目标操作信息;所述执行算法包括:从所述第二表格数据中读取其包含的姓名字段的所有记录获得待查找人员名单;将所述待查找人员名单中的人员姓名与所述第一表格数据中包含的姓名进行逐条比对,判断所述待查找人员名单中的人员姓名是否出现在所述第一表格数据中获得匹配结果,若出现则记录为匹配成功,若未出现则记录为匹配失败;所述执行结果包括所述匹配结果。优选地:将所述匹配结果以表格方式进行保存并返回所述用户终端设备。优选地:所述起始节点包括一个时间字段的时间表格数据;确定所述时间字段的上下行之间的理论间隔时间;所述目标操作节点包括查找空缺时间的目标操作信息;所述执行算法包括:读出所述时间表格数据中所有时间,从第一行开始计算;判断下一行与上一行的间隔时间是否为所述理论间隔时间,若是,则继续下一行,若大于所述理论间隔时间,则将当前行的时间加上所述理论间隔时间获得插入时间,将所述插入时间存入结果列表中,并将所述插入时间作为当前行的时间值;循环执行上述操作,直到计算到最后一行结束为止;所述结果列表中包含的所有插入时间即为要查找的空缺时间。优选地:所述待执行表格数据为xlsx格式数据、xls格式数据、csv格式数据中的任意一种或几种的组合。一种流程化数据处理系统,应用于服务器,该系统包括:接收单元,用于接收用户终端设备发送的以图的方式进行保存的待执行表格数据以及目标操作信息,所述图包括若干节点以及若干边,所述节点包括目标操作节点以及数据源节点,所述边用于从一个节点指向另一个节点并保存数据流向信息;起始节点确定单元,用于遍历所有节点确定起始节点,所述起始节点为所述数据源节点;数据读取单元,用于读取所述起始节点包含的表格数据;边确定单元,用于遍历所有所述边确定与所述起始节点相关的所有边;目标操作节点确定单元,用于根据确定的所述所有边确定与所述起始节点相关的目标操作节点;执行单元,用于根据所述目标操作节点包含的目标操作信息确定执行算法,并执行所述执行算法生成执行结果;结果返回单元,用于将所述执行结果返回所述用户终端设备,以便所述用户终端设备对所述执行结果进行展示。根据本发明提供的具体实施例,本发明公开了以下技术效果:通过本发明,可以实现一种流程化数据处理方法及系统,在一种实现方式下,该方法可以包括接收用户终端设备发送的以图的方式进行保存的待执行表格数据以及目标操作信息,所述图包括若干节点以及若干边,所述节点包括目标操作节点以及数据源节点,所述边用于从一个节点指向另一个节点并保存数据流向信息;遍历所有节点确定起始节点,所述起始节点为所述数据源节点;读取所述起始节点包含的表格数据;遍历所有所述边确定与所述起始节点相关的所有边;根据确定的所述所有边确定与所述起始节点相关的目标操作节点;根据所述目标操作节点包含的目标操作信息确定执行算法,并执行所述执行算法生成执行结果;将所述执行结果返回所述用户终端设备,以便所述用户终端设备对所述执行结果进行展示。该方法针对现有的桌面版或网络版表格数据处理软件存在的诸如难以处理大数据量的表格数据、专业性过强、解决实际业务问题的自动化程度不高等痛点进行研发,旨在解决会计、电信、银行、销售、科研等行业数据处理复杂、消耗大量时间和人工的问题。具有无需安装、数据处理无门槛、海量数据在线快速处理、流程编辑器用户友好、所见即所得、模块功能拓展性强等特点和优势。当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例提供的一种流程化数据处理方法的流程图;图2是本发明实施例提供的一种流程化数据处理系统的示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。实施例一参见图1,为本发明实施例一提供的一种流程化数据处理方法,如图1所示,应用于服务器,该方法包括:s101:接收用户终端设备发送的以图的方式进行保存的待执行表格数据以及目标操作信息,所述图包括若干节点以及若干边,所述节点包括目标操作节点以及数据源节点,所述边用于从一个节点指向另一个节点并保存数据流向信息;所述目标操作信息包括操作方式和/或操作对象。所述操作方式和/或所述操作对像为所述用户终端设备根据用户输入的结果所确定。所述待执行表格数据为xlsx格式数据、xls格式数据、csv格式数据中的任意一种或几种的组合。数据源指的是上传到服务器的文件,支持xlsx、xls、csv格式,每一个数据称为一个数据源,数据源也可以指拖动到工作环境中的数据源节点。后续还可以支持数据库连接,即每一个数据库的表可以当作一个数据源,采用同样的方式进行流程化分析计算。一个节点指的是流程中的一个操作,数据源和计算方法都可以是节点,将多个节点串联起来便形成一个流程。将两个节点用带方向箭头的线(边)连起来的过程即为连接。箭头表示数据流转的方向,起始节点一定是从数据源开始,系统会按照连接顺序,从数据源节点一直计算到最后一个节点。s102:遍历所有节点确定起始节点,所述起始节点为所述数据源节点。s103:读取所述起始节点包含的表格数据;从硬盘中读取所述起始节点包含的表格数据,从所述目标操作节点中读取目标操作信息。需要说明的是,该硬盘为服务器硬盘。s104:遍历所有所述边确定与所述起始节点相关的所有边;需要说明的是,本申请提供的边均为有向边,即一条边包括一个起点和一个终点。与该起始节点相连的边即为与其相关的所有边,此时起始节点为该条边的起点。s105:根据确定的所述所有边确定与所述起始节点相关的目标操作节点;具体的,遍历所述确定的所有边判断所述起始节点是否为所述确定的所有边的起点,若是,则所述确定的所有边各自的终点对应的节点即为与所述起始节点相关的目标操作节点。可以理解的是,找的目标操作节点可能是一个,也可能是多个,当找到多个目标操作节点时,一一进行计算即可。s106:根据所述目标操作节点包含的目标操作信息确定执行算法,并执行所述执行算法生成执行结果;该执行算法均为开发者编辑完成储存在服务器的硬盘中,需要使用时直接调用即可,无需用户自己继续编辑。s107:将所述执行结果返回所述用户终端设备,以便所述用户终端设备对所述执行结果进行展示。本申请提供的方法可以为用户终端设备提供相应的操作界面,用户无需运用公式和编程而是仅通过鼠标拖拽即可实现任意复杂表格数据(xlsx、xls、csv、dat等)在线流程化链式处理,解决手工繁杂、重复性、周期性和复杂性等数据处理难题,具有数据源管理、流程管理、流程编辑、结果输出等功能。该方法针对现有的桌面版或网络版表格数据处理软件存在的诸如难以处理大数据量的表格数据、专业性过强、解决实际业务问题的自动化程度不高等痛点进行研发,旨在解决会计、电信、银行、销售、科研等行业数据处理复杂、消耗大量时间和人工的问题。具有无需安装、数据处理无门槛、海量数据在线快速处理、流程编辑器用户友好、所见即所得、模块功能拓展性强等特点和优势。具体的,用户通过用户终端设备输入待执行表格数据以及目标操作信息,用户终端设备将用户需要执行的待执行表格数据以及目标操作信息以图(graph)的方式进行保存。graph分为节点(node)和边(edge),其中node保存操作信息,如连接、聚合等,以及此操作的相关参数,如连接的字段等;edge有方向,即从一个node指向另一个node,edge保存数据流向信息,如一个表格先执行连接再执行聚合。将保存的graph传递到服务器,服务器得到graph之后进行解析并执行,具体步骤为:1.从所有node中找到起始节点,起始节点均为数据源节点(里面存放表格信息,存储位置、表头所在行等),起始节点为一次流程化计算的开始,系统从此节点开始进行后续计算,此为计算的初始条件,确定初始节点的方式为寻找数据节点,即循环遍历所有节点找到其中包含excel等数据的节点。2.根据node配置读取表格数据(若为数据源节点则从硬盘读取数据,若为操作节点则从内存中读取(计算结果))。3.从所有edge中找到与此node有关的edge。4.从上述edge中找到另外一个node,此node即为将要执行的node(以上两步的查找方式为循环遍历所有edge,判断某一edge的起始node是否为上述node,若是,则其结束node即为要寻找的node)。5.执行上述node,执行中需要读取执行参数,具体执行步骤为:查看node中保存的操作名称,如连接,则程序自动去执行连接操作,连接操作需要两个数据和连接字段名称等参数,两个数据分别为与其连接的两个edge的另一个端的两个node的计算结果,参数从node中取出。6.循环执行2-5步,直到执行完所有节点。7.将最后执行的节点保存即为最终执行结果。下面以具体示例对本申请提供的方法的实施过程进行说明。如表1、表2所示的待执行表格数据名为语文成绩、数学成绩的两个数据源,字段组成分别为学号、成绩。目标操作信息是以“学号”为两个数据的连接字段,将学号、语文成绩、数学成绩连接生成一个新的数据。表1ab1学号语文成绩218032794378表2ab1学号数学成绩219032894388第一步,新建流程并命名,新建流程:服务器接收到通过用户终端设备发送的操作请求后,向用户终端设备提供操作界面,以便在用户终端设备上展示该操作界面,当然该操作界面信息也可以存储在用户终端设备上,能为用户在用户终端设备提供操作界面即可。用户通过该操作界面点击流程菜单,创建一个新流程,本例中命名为快速开始一次分析。第二步,上传数据。用户点击上传数据,上传需要处理的数据。将表1、表2进行上传。第三步,数据参数设置。用户在操作界面中点击切换到数据菜单,点击查看进入参数设置界面。在这里需要设置表头,忽略行数,分隔符。通过用户输入的参数最终确定目标操作信息。第四步,接收用户终端设备发送的以图的方式保存的待执行表格数据以及目标操作信息。第五步,确定起始节点包括语文成绩、数学成绩的两个数据源,目标操作节点为两个数据源的目标操作信息,即以“学号”为两个数据的连接字段,将学号、语文成绩、数学成绩连接生成一个新的数据。第六步,根据目标操作信息在执行算法数据库中调用预存的执行算法,可以想到的是,具体的执行算法可以采用多种方式进行设定,最终可以获得目标操作信息所要得到的执行结果即可。并计算获得包含学号、语文成绩、数学成绩对应关系的表格,如表3所示。表3index学号语文数学018090127989237888第七步,将包含学号、语文成绩、数学成绩对应关系的表格返回至用户终端设备,在用户终端设备中进行展示。至此,便完成了一次分析操作,若想对此结果数据继续操作,则只需要拖拽对应的操作到同一个工作区中,并采用同样的方式将连接节点与新拖进来的操作相连即可。在实际应用中,为了方便进行计算,同时保证获得准确的计算结果,本申请实施例还可以提供针对不同执行结果进行计算的多种执行算法。具体的,所述起始节点包括两个且分别保存有第一表格数据以及第二表格数据,所述第一表格数据包括银行流水数据,所述银行流水数据包括姓名、身份证号、金额以及日期;所述第二表格数据包括人员名单数据,所述人员名单数据包括姓名、身份证号以及工作单位;所述目标操作节点包括在所述第一表格数据中查找所述第二表格数据中包含的人员记录的目标操作信息;所述执行算法包括:从所述第二表格数据中读取其包含的姓名字段的所有记录获得待查找人员名单。将所述待查找人员名单中的人员姓名与所述第一表格数据中包含的姓名进行逐条比对,判断所述待查找人员名单中的人员姓名是否出现在所述第一表格数据中获得匹配结果,若出现则记录为匹配成功,若未出现则记录为匹配失败。所述执行结果包括所述匹配结果。将所述匹配结果以表格方式进行保存并返回所述用户终端设备。具体的,有两个excel文件,假如第一个excel为某银行提供的流水数据,包含姓名、身份证号、金额、日期等,第二个excel为人员名单,包含姓名、身份证号、工作单位等,现想在第一个excel中查找第二个excel中包含的人员记录,即查看第二个excel中的哪些人在第一个excel中有流水记录。则可以使用我们的匹配操作,具体执行算法如下:1.从第二个excel中读出姓名字段所有记录,即所有想要查找的人员名单。2.对第一个excel进行逐行比对,判断当前行的流水记录的人员姓名是否出现在上述列表中,若出现则记录为匹配成功,若未出现则记录为匹配失败。3.将结果保存为一个新的excel即为执行结果。执行算法还可以包括所述起始节点包括一个时间字段的时间表格数据;确定所述时间字段的上下行之间的理论间隔时间;所述目标操作节点包括查找空缺时间的目标操作信息;所述执行算法包括:读出所述时间表格数据中所有时间,从第一行开始计算。判断下一行与上一行的间隔时间是否为所述理论间隔时间,若是,则继续下一行,若大于所述理论间隔时间,则将当前行的时间加上所述理论间隔时间获得插入时间,将所述插入时间存入结果列表中,并将所述插入时间作为当前行的时间值;循环执行上述操作,直到计算到最后一行结束为止。所述结果列表中包含的所有插入时间即为要查找的空缺时间。具体的,查找空缺时间操作用来查找固定时间间隔记录中的缺失项。比如有一份excel数据包含一个时间字段,此字段值理论上上下行之间间隔10秒,依次排下去,如第一行为8:00:00,则第二行为8:00:10,依次往下排。但是由于某些原因,使得其中有些行的数据丢失了或者未能采集到,即部分行上下之间的间隔为20秒或者30秒等。此时可以使用此操作查找时间空缺的行,系统计算过程如下:1.读出excel中所有时间,从第一行开始计算;2.判断下一行是否与上一行间隔10秒,若是,则继续下一行,若大于10秒,则将当前行的时间加上10秒,将此值存入结果列表中,并将此值作为当前行的时间值。3.循环执行第二步,直到计算到最后一行结束。4.结果列表中的所有时间即为此excel中的缺失时间。实施例二与本发明实施例一提供的流程化数据处理方法相对应,本发明实施例二还提供了流程化数据处理系统;参见图2,应用于服务器,该系统包括:接收单元201,用于接收用户终端设备发送的以图的方式进行保存的待执行表格数据以及目标操作信息,所述图包括若干节点以及若干边,所述节点包括目标操作节点以及数据源节点,所述边用于从一个节点指向另一个节点并保存数据流向信息。起始节点确定单元202,用于遍历所有节点确定起始节点,所述起始节点为所述数据源节点。数据读取单元203,用于读取所述起始节点包含的表格数据。边确定单元204,用于遍历所有所述边确定与所述起始节点相关的所有边。目标操作节点确定单元205,用于根据确定的所述边确定与所述起始节点相关的目标操作节点。执行单元206,用于根据所述目标操作节点包含的目标操作信息确定执行算法,执行所述执行算法生成执行结果。结果返回单元207,用于将所述执行结果返回所述用户终端设备,以便所述用户终端设备对所述执行结果进行展示。对于系统或装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1