掌桥专利:专业的专利平台
掌桥专利
首页

一种数据适配方法及装置

文献发布时间:2023-06-19 10:27:30


一种数据适配方法及装置

技术领域

本发明涉及软件技术领域,更具体的说,是涉及一种数据适配方法及装置。

背景技术

当前的流程设计器采用的技术在维护和支持方面已不能够满足企业实际需求,因此很多企业都采用新的技术进行流程设计。然而,一些企业的数据系统庞大,很多必要的流程数据是需要永久保存的,采用新的技术无法有效识别和利用这些原有流程设计器生成并保存的相关数据。

发明内容

有鉴于此,本发明提供如下技术方案:

一种数据适配方法,包括:

获取第一格式的流程数据,所述流程数据包括流程图元结构和配置信息;

将所述第一格式的流程数据解析成为多个基本元素;

将所述多个基本元素按照第二格式进行重构,得到所述第二格式的流程数据;

保存或展示所述第二格式的流程数据。

可选的,所述第一格式的流程数据为json描述的流程数据,所述第二格式的流程数据为XML描述的流程数据。

可选的,所述将所述第一格式的流程数据解析成为多个基本元素,包括:

将所述第一格式的流程数据解析成为图元节点信息、流程配置设置信息、图元节点配置信息、迁移线流转信息、流程信息和/或图元线段位置信息。

可选的,所述将所述多个基本元素按照第二格式进行重构,得到所述第二格式的流程数据,包括:

创建一个满足第二格式的XML对象或json对象,并在创建的所述XML对象或所述json对象中添加所述图元节点信息和所述流程配置设置信息;

在所述XML对象或所述json对象中添加所述迁移线流转信息;

在所述XML对象或所述json对象中添加图元节点与迁移线的位置信息;

在所述XML对象或所述json对象中添加所述流程信息;

在所述XML对象或所述json对象中添加所述图元节点配置信息,得到所述第二格式的流程数据。

可选的,所述第一格式的流程数据为基于HTML5实现的流程数据,所述第二格式的流程数据为基于BPMN2.0实现的流程数据;

或,

所述第一格式的流程数据为基于BPMN2.0实现的流程数据,所述第二格式的流程数据为基于HTML5实现的流程数据。

一种数据适配装置,包括:

数据获取模块,用于获取第一格式的流程数据,所述流程数据包括流程图元结构和配置信息;

数据拆分模块,用于将所述第一格式的流程数据解析成为多个基本元素;

数据重构模块,用于将所述多个基本元素按照第二格式进行重构,得到所述第二格式的流程数据;

数据处理模块,用于保存或展示所述第二格式的流程数据。

可选的,所述第一格式的流程数据为ison描述的流程数据,所述第二格式的流程数据为XML描述的流程数据。

可选的,所述数据拆分模块具体用于:将所述第一格式的流程数据解析成为图元节点信息、流程配置设置信息、图元节点配置信息、迁移线流转信息、流程信息和/或图元线段位置信息。

可选的,所述数据重构模块包括:

对象创建模块,用于创建一个满足第二格式的XML对象或json对象,并在创建的所述XML对象或所述json对象中添加所述图元节点信息和所述流程配置设置信息;

第一添加模块,用于在所述XML对象或所述json对象中添加所述迁移线流转信息;

第二添加模块,用于在所述XML对象或所述json对象中添加图元节点与迁移线的位置信息;

第三天添加模块,用于在所述XML对象或所述json对象中添加所述流程信息;

第四添加模块,用于在所述XML对象或所述json对象中添加所述图元节点配置信息,得到所述第二格式的流程数据。

可选的,所述第一格式的流程数据为基于HTML5实现的流程数据,所述第二格式的流程数据为基于BPMN2.0实现的流程数据;

或,

所述第一格式的流程数据为基于BPMN2.0实现的流程数据,所述第二格式的流程数据为基于HTML5实现的流程数据。

经由上述的技术方案可知,与现有技术相比,本发明实施例公开了一种数据适配方法及装置,方法包括:获取第一格式的流程数据,所述流程数据包括流程图元结构和配置信息;将所述第一格式的流程数据解析成为多个基本元素;将所述多个基本元素按照第二格式进行重构,得到所述第二格式的流程数据;保存或展示所述第二格式的流程数据。该数据适配方法及装置能够将第一格式的流程数据与第二格式的流程数据进行双向转换,在两种格式的流程数据间进行“翻译”,使得两种格式的流程数据能够兼容共存,更好的服务于实际需求。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例公开的一种数据适配方法的流程图;

图2本发明实施例公开的将多个基本元素进行重构的流程图;

图3为本发明实施例公开的数据适配转换描述图;

图4为本发明实施例公开的一种数据适配的流程示意图;

图5为本发明实施例公开的数据适配模型示意图;

图6为本发明实施例公开的一种数据适配装置的结构示意图。

具体实施方式

为了引用和清楚起见,下文中使用的技术名词的说明、简写或缩写总结如下:

HTML5:HTML5是标准通用标记语言下的一个应用,也是一种规范,一种标准。它通过标记符号来标记要显示的网页中的各个部分。网页文件本身是一种文本文件,通过在文本文件中添加标记符,可以告诉浏览器如何显示其中的内容(如:文字如何处理,画面如何安排,图片如何显示等)。浏览器按顺序阅读网页文件,然后根据标记符解释和显示其标记的内容,对书写出错的标记将不指出其错误,且不停止其解释执行过程,编制者只能通过显示效果来分析出错原因和出错部位。但需要注意的是,对于不同的浏览器,对同一标记符可能会有不完全相同的解释,因而可能会有不同的显示效果。

Json:JSON(JavaScript Object Notation,JS对象简谱)是一种轻量级的数据交换格式。它基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

BPMN2.0:BPMN 2.0是业务流程建模符号2.0的缩写。它由Business ProcessManagement Initiative这个非营利协会创建并不断发展。作为一种标识,BPMN 2.0是使用一些符号来明确业务流程设计流程图的一套符号规范,它能增进业务建模时的沟通效率。目前BPMN2.0是最新的版本,它用于在BPM上下文中进行布局和可视化的沟通。BPMN 2.0的开发目标是创建一种标准,一种用于对业务流程建模的通用语言。是要提供被所有业务用户理解的一套标记语言,包括业务分析者、软件开发者以及业务管理者与监察者。因此,在设计流程图时,使用这种通用的符号,以供其它许多能够使用此国际标准符号的专业人员理解你的流程。这也是BPMN符号2.0如此广泛,并被专业人员接受为表示流程的最佳解决方案。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请实施例可以应用于电子设备,本申请对该电子设备的产品形式不做限定,可以包括但并不局限于智能手机、平板电脑、可穿戴设备、个人计算机(personalcomputer,PC)、上网本等,可以依据应用需求选择。

图1为本发明实施例公开的一种数据适配方法的流程图,参见图1所示,数据适配方法可以包括:

步骤101:获取第一格式的流程数据,所述流程数据包括流程图元结构和配置信息。

现有的BPM流程设计器由于后期的技术维护和技术支持将会停止,因此很多企业后期将采用新的流程设计技术来进行流程设计工作,然而,由于不同技术进行流程设计和保存的规则以及格式不同,导致采用新的技术无法打开识别原有技术保存的流程数据,新技术保存的流程数据也无法与原有技术保存的流程数据兼容。因此,为了克服上述问题,本发明实施例提供了一种数据适配方法,使得原有技术和新的技术能够同时方便的使用。

其中,第一格式的流程数据可以是原有技术的流程数据,也可以是新技术的流程数据。若第一格式的流程数据为原有技术的流程数据,则该数据适配方法用于将其以新技术的格式打开展示;若第一格式的流程数据为新技术的流程数据,则该数据适配方法用于第一格式的流程数据以原有技术的规则个格式进行保存。

步骤102:将所述第一格式的流程数据解析成为多个基本元素。

由于需要将流程数据在两种格式和/或规则之间做匹配转换,因此,需要先将第一格式的流程数据解析为多个基本元素,后续再按相关要求多个基本元素进行重组构建,以实现格式和/或规则的变换。

步骤103:将所述多个基本元素按照第二格式进行重构,得到所述第二格式的流程数据。

本实现中,需要将第一格式的流程数据转换为第二格式的流程数据,因此,需要将多个基本元素按照第二格式及其对应的规则进行重构,从而得到第二格式的流程数据。

步骤104:保存或展示所述第二格式的流程数据。

流程数据从第一格式到第二格式的重构完成后,可以对其进行展示或保存,满足正常工作需求。

本实施例所述数据适配方法,能够将第一格式的流程数据与第二格式的流程数据进行双向转换,在两种格式的流程数据间进行“翻译”,使得两种格式的流程数据能够兼容共存,更好的服务于实际需求。

上述实施例中,所述第一格式的流程数据可以为json描述的流程数据,所述第二格式的流程数据可以为XML描述的流程数据。当然对此不限定,所述第一格式的流程也可以为XML描述的流程数据,而第二格式的流程数据为json描述的流程数据。

具体的,所述第一格式的流程数据可以为基于HTML5实现的流程数据,所述第二格式的流程数据可以为基于BPMN2.0实现的流程数据;或,所述第一格式的流程数据为基于BPMN2.0实现的流程数据,所述第二格式的流程数据为基于HTML5实现的流程数据。

上述实施例中,将第一格式的流程数据解析成为多个基本元素,可以包括:将所述第一格式的流程数据解析成为图元节点信息、流程配置设置信息、图元节点配置信息、迁移线流转信息、流程信息和/或图元线段位置信息。

基于上述内容,图2示出了将多个基本元素进行重构的流程图,参见图2所示,所述将所述多个基本元素按照第二格式进行重构,得到所述第二格式的流程数据,可以包括:

步骤201:创建一个满足第二格式的XML对象或json对象,并在创建的所述XML对象或所述json对象中添加所述图元节点信息和所述流程配置设置信息。

步骤202:在所述XML对象或所述json对象中添加所述迁移线流转信息。

步骤203:在所述XML对象或所述json对象中添加图元节点与迁移线的位置信息。

步骤204:在所述XML对象或所述json对象中添加所述流程信息。

步骤205:在所述XML对象或所述json对象中添加所述图元节点配置信息,得到所述第二格式的流程数据。

在一个具体实现中,基于HTML5绘制的流程图在保存的时候本实施例所述数据适配方法进行解析,将各个图元节点等信息重新适配按BPMN2.0的规则原有流程设计建模的规范构建成与原有的流程设计建模相同的格式,反过来打开一个原有的流程设计建模同样会反向解析和构建成基于HTML5所适应的json格式到前台展示。

图3为本发明实施例公开的数据适配转换描述图,图4为本发明实施例公开的一种数据适配的流程示意图,图5为本发明实施例公开的数据适配模型示意图,结合图3-图5,在将基于HTML5技术设计的流程数据保存成满足bpmn规则的xml的实现中:HTML5设计的流程通过json格式将设计好的流程图元结构和配置信息发送到引擎适配器,由适配器的解析器将其中的信息拆分成图元节点信息、流程配置设置信息、图元节点配置信息、迁移线流转信息、流程信息和图元线段位置信息……并将这些信息封装到中间模型中,中间模型做两端的转换,创建一个bpmn2.0业务建模规则的且满足BPM流程格式的xml对象doc,在doc中添加中间模型的图元节点信息、流程信息—>然后将迁移线与节点之间的联系添加到doc中,两者通过节点的唯一标识ID建立联系(联系:既为图元1指向图元2中间用迁移线1连接)—>添加节点与迁移线的位置信息,此位置信息描述的是当打开流程图展示的时候节点和线,图元位置的信息既坐标信息—>添加流程信息(流程的一些基本信息,如流程名称、相关数据(比如说请假天数day=3)、业务变量(业务上可能用到与流程相关的变量数据))—>添加节点配置信息(由节点唯一标识ID(每个图元都由一个唯一的节点标识ID)建立与节点的联系(此联系既某个节点配置的规则,例如:运行到该节点后触发某某事件、在该节点上配置某某人指定让某某人或某某角色来办理该节点))。

在基于HTML5技术实现的流程数据中,相应的图元节点和配置设置数据是以json结构解释的,经过数据适配,保存后会将相关信息以XML格式保存。这种实现既是现有流程的模型存储方式,可以满足现有的流程使用又能摆脱对原有技术的依赖。

在需要将原有技术的流程数据反向转换为HTML5技术支持的流程数据展示时,采用的是相同的数据适配方法,即将现有的流程数据由xml格式通过适配器内的解析器解析和重构成中间模型—>然后将中间模型重新封装成满足HTML5接受的json格式发送到前端展示即可。

本实施例公开的流程适配方法,不但可以适应新版的HTML5形式,又可以适应过去的BPM流程设计器,同时这个实现是双向解析和重构的,既可以将原有的流程用HTML5形式打开也可以用HTML5设计的流程用原有的BPM设计器打开。

对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

上述本发明公开的实施例中详细描述了方法,对于本发明的方法可采用多种形式的装置实现,因此本发明还公开了一种装置,下面给出具体的实施例进行详细说明。

图6为本发明实施例公开的一种数据适配装置的结构示意图,参见图6所示,数据适配装置60可以包括:

数据获取模块601,用于获取第一格式的流程数据,所述流程数据包括流程图元结构和配置信息。

数据拆分模块602,用于将所述第一格式的流程数据解析成为多个基本元素。

数据重构模块603,用于将所述多个基本元素按照第二格式进行重构,得到所述第二格式的流程数据。

数据处理模块604,用于保存或展示所述第二格式的流程数据。

本实施例所述数据适配装置,能够将第一格式的流程数据与第二格式的流程数据进行双向转换,在两种格式的流程数据间进行“翻译”,使得两种格式的流程数据能够兼容共存,更好的服务于实际需求。

一个实现中,所述第一格式的流程数据为ison描述的流程数据,所述第二格式的流程数据为XML描述的流程数据。

一个实现中,数据拆分模块具体用于:将所述第一格式的流程数据解析成为图元节点信息、流程配置设置信息、图元节点配置信息、迁移线流转信息、流程信息和/或图元线段位置信息。

一个实现中,数据重构模块包括:对象创建模块,用于创建一个满足第二格式的XML对象或json对象,并在创建的所述XML对象或所述json对象中添加所述图元节点信息和所述流程配置设置信息;第一添加模块,用于在所述XML对象或所述json对象中添加所述迁移线流转信息;第二添加模块,用于在所述XML对象或所述json对象中添加图元节点与迁移线的位置信息;第三天添加模块,用于在所述XML对象或所述json对象中添加所述流程信息;第四添加模块,用于在所述XML对象或所述json对象中添加所述图元节点配置信息,得到所述第二格式的流程数据。

一个实现中,第一格式的流程数据为基于HTML5实现的流程数据,所述第二格式的流程数据为基于BPMN2.0实现的流程数据;或,所述第一格式的流程数据为基于BPMN2.0实现的流程数据,所述第二格式的流程数据为基于HTML5实现的流程数据。

上述数据适配装置及其各个模块的具体实现可参见方法实施例中相关部分的内容介绍,在此不再重复赘述。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

相关技术
  • 一种数据采集过程中的数据适配器及其数据适配方法
  • 家电设备数据适配方法、装置、智能终端及数据适配系统
技术分类

06120112553342