CN112287013B - 数据转换方法及适配器 - Google Patents
数据转换方法及适配器 Download PDFInfo
- Publication number
- CN112287013B CN112287013B CN202011547078.7A CN202011547078A CN112287013B CN 112287013 B CN112287013 B CN 112287013B CN 202011547078 A CN202011547078 A CN 202011547078A CN 112287013 B CN112287013 B CN 112287013B
- Authority
- CN
- China
- Prior art keywords
- conversion
- parameter
- data
- assigned
- variable
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种数据转换方法、适配器、计算机设备和存储介质。所述方法包括:从第一业务系统中获取第一结构化数据;从第二业务系统中确定各个待赋值变量,获取各个所述待赋值变量分别对应的转换函数;针对每一个所述待赋值变量,从所述转换函数中获取包含结构化信息的参数标识;基于所述参数标识从所述第一结构化数据获取对应的第一数据,将所述第一数据赋值给所述待赋值变量,得到第二数据;基于各个所述第二数据生成第二结构化数据。采用本方法能够实现不同业务系统中的不同结构化数据的兼容。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种数据转换方法适配器、计算机设备和存储介质。
背景技术
随着计算机技术的发展,出现了各种业务系统。通过业务系统可以实现各种功能,例如营销策划、销售、客户服务、客户关系管理、风险防范等。而当不同的业务系统之间进行数据传输时,经常会遇到不同的业务系统的数据规范不一致,从而导致数据无法传输的情况,存在数据的不兼容问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够实现数据兼容的数据转换方法、适配器、计算机设备和存储介质。
一种数据转换方法,所述方法包括:
从第一业务系统中获取第一结构化数据;
从第二业务系统中确定各个待赋值变量,获取各个所述待赋值变量分别对应的转换函数;
针对每一个所述待赋值变量,从所述转换函数中获取包含结构化信息的参数标识;基于所述参数标识从所述第一结构化数据获取对应的第一数据,将所述第一数据赋值给所述待赋值变量,得到第二数据;
基于各个所述第二数据生成第二结构化数据。
在其中一个实施例中,所述从第一业务系统中获取第一结构化数据之后,还包括:
获取转换方式;所述转换方式为整体转换或者字段转换;
所述从第二业务系统中确定各个待赋值变量,包括:
从第二业务系统中确定所述转换方式对应的各个待赋值变量。
在其中一个实施例中,所述从第二业务系统中确定所述转换方式对应的各个待赋值变量,包括:
当所述转换方式是整体转换时,从第二业务系统中确定所述整体转换对应的对象作为待赋值变量。
在其中一个实施例中,所述从第二业务系统中确定所述转换方式对应的各个待赋值变量,包括:
当所述转换方式是字段转换时,遍历第二业务系统中对象所包含的各个字段;各个字段之间存在结构化关系;
依次将各个字段作为待赋值变量。
在其中一个实施例中,所述从所述转换函数中获取包含结构化信息的参数标识,包括:
从所述转换函数中确定第一标识的位置,以及第二标识的位置;所述第一标识和所述第二标识为相匹配的一对标识;
获取所述第一标识的位置和所述第二标识的位置之间的第一字符串;
对所述第一字符串进行分解,得到包含结构化信息的参数标识。
在其中一个实施例中,所述从第二业务系统中确定各个待赋值变量,获取各个所述待赋值变量分别对应的转换函数之后,还包括:
针对每一个所述待赋值变量,从所述待赋值变量对应的转换函数中确定所述转换函数的函数名称;
从所述第二业务系统中确定所述函数名称所对应的类路径和方法标识;
基于所述类路径和方法标识确定目标代码;
所述基于所述参数标识从所述第一结构化数据获取对应的第一数据之后,还包括:
将所述第一数据赋值给所述目标代码中的所述方法标识对应的方法参数;
所述将所述第一数据赋值给所述待赋值变量,得到第二数据,包括:
执行赋值后的目标代码,将所述方法参数的第一数据赋值给所述待赋值变量,得到第二数据。
在其中一个实施例中,所述从所述待赋值变量对应的转换函数中确定所述转换函数的函数名称,包括:
从所述待赋值变量对应的转换函数中确定第三标识的位置,以及第四标识的位置;所述第三标识和所述第四标识为相匹配的一对标识;
获取所述第三标识的位置和所述第四标识的位置之间的第二字符串,并基于所述第二字符串确定所述转换函数的函数名称。
在其中一个实施例中,所述转换函数为所述第二业务系统中的内置函数。
一种数据转换适配器,所述适配器包括:
第一结构化数据获取模块,用于从第一业务系统中获取第一结构化数据;
转换函数获取模块,用于从第二业务系统中确定各个待赋值变量,获取各个所述待赋值变量分别对应的转换函数;所述转换函数为所述第二业务系统中的内置函数;
赋值模块,用于针对每一个所述待赋值变量,从所述转换函数中获取包含结构化信息的参数标识;基于所述参数标识从所述第一结构化数据获取对应的第一数据,将所述第一数据赋值给所述待赋值变量,得到第二数据;
第二结构化数据生成模块,用于基于各个所述第二数据生成第二结构化数据。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。
上述数据转换方法、适配器、计算机设备和存储介质,从第一业务系统中获取第一结构化数据;从第二业务系统中确定各个待赋值变量,获取各个待赋值变量分别对应的转换函数;针对每一个待赋值变量,从转换函数中获取包含结构化信息的参数标识;基于参数标识从第一结构化数据获取对应的第一数据,将第一数据赋值给待赋值变量,得到第二数据;再基于各个第二数据可以生成第二结构化数据,即将第一业务系统中的第一结构化数据转换成第二业务系统中的第二结构化数据,实现了不同业务系统中的不同结构化数据的兼容。并且,相对于开发人员手动编辑程序代码进行数据转换,可以减少开发工作量和后续维护成本、以及系统提供方和用户之间的沟通成本。上述数据转换方法,配置灵活,适应面广,使用方便。
附图说明
图1为一个实施例中数据转换方法的应用环境图;
图2为一个实施例中数据转换方法的流程示意图;
图3为一个实施例中第一结构化数据进行配置的界面图;
图4为一个实施例中字段转换时对待赋值变量进行配置的界面图;
图5为一个实施例中编辑转换函数的界面图;
图6为一个实施例中整体转换时对待赋值变量进行配置的界面图;
图7为另一个实施例中数据转换方法的流程示意图;
图8为另一个实施例中数据转换方法的流程示意图;
图9为一个实施例中执行数据转换规则的流程示意图;
图10为一个实施例中数据转换适配器的结构框图;
图11为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的数据转换方法,可以应用于如图1所示的应用环境中。其中,计算机设备102通过网络与计算机设备104进行通信。计算机设备104中有第一业务系统,计算机设备102中有第二业务系统。计算机设备102从第一业务系统中获取第一结构化数据;从第二业务系统中确定各个待赋值变量,获取各个待赋值变量分别对应的转换函数;针对每一个待赋值变量,从转换函数中获取包含结构化信息的参数标识;基于参数标识从第一结构化数据获取对应的第一数据,将第一数据赋值给待赋值变量,得到第二数据;基于各个第二数据生成第二结构化数据。其中,计算机设备可以是终端,也可以是服务器。终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种数据转换方法,包括以下步骤:
步骤202,从第一业务系统中获取第一结构化数据。
业务系统是指企业达成定位所需要的业务环节、各合作伙伴扮演的角色以及利益相关者合作与交易的方式和内容。通过业务系统可以实现各种功能,例如营销策划、销售、客户服务、客户关系管理、风险防范等。
结构化数据是包含结构化信息的数据。结构化信息是指信息经过分析后可分解成多个互相关联的组成部分,各组成部分间有明确的层次结构,并有一定的操作规范。第一结构化数据指的是第一业务系统中的所存储的数据。第一结构化数据可以是JSON(JavaScript Object Notation,JS对象简谱)数据、XML(Extensible Markup Language,可扩展标记语言)数据,等等。
在一个实施例中,计算机设备可以预先对第一结构化数据配置数据格式。计算机设备可以配置第一结构化数据的参数名称、参数说明、参数类型等。其中,参数名称是对应JSON对象的属性名。参数说明是参数的说明信息,用于显示在计算机设备的显示界面中。参数类型是对应JSON参数值的类型,支持字符串、布尔、整型、长整型、浮点型、对象数组(JSON对象组成的JSON数组)、整型数组(整型数据组成的JSON数组)、浮点数组、布尔数组、字符串数组等类型。计算机设备还可以配置JSON属性的层级关系,即各个字段的结构化信息。
如图3所示,计算机设备预先对第一结构化数据配置数据格式,配置第一结构化数据的参数名称、参数说明和参数类型。在参数return下包括有参数a、参数b和参数e,在参数b下包括参数c和参数d,在参数e下包括有参数f和参数g。计算机设备配置参数return的参数说明为return,参数类型为对象;配置参数a的参数说明为a,参数类型为字符串;配置参数b的参数说明为b,参数类型为对象;配置参数c的参数说明为c,参数类型为字符串;配置参数d的参数说明为d,参数类型为字符串;配置参数e的参数说明为e,参数类型为对象数组;配置参数f的参数说明为f,参数类型为字符串;配置参数g的参数说明为g,参数类型为字符串。
步骤204,从第二业务系统中确定各个待赋值变量,获取各个待赋值变量分别对应的转换函数。
第一业务系统和第二业务系统是两个不同的业务系统。在一个实施例中,一个计算机设备中可以有第一业务系统和第二业务系统。在另一个实施例中,一个计算机设备有第一业务系统,另一个计算机设备有第二业务系统。
第二业务系统中的待赋值变量,可以是对象,也可以是对象中的字段。例如,JSON对象中包括有很多个字段,则待赋值变量可以为JSON对象,也可以是JSON对象中的字段。
计算机设备从第二业务系统中确定的待赋值变量的数量可以根据需要设置,可以是一个,也可以是至少两个。
计算机设备可以预先对各个待赋值变量配置数据格式。例如,计算机设备可以配置待赋值变量的转换方式、转换函数、参数名称、参数说明等。其中,转换方式可以包括整体转换和字段转换。转换函数是将第一结构化数据转换为第二结构化数据的函数。参数名称是待赋值变量对应JSON对象的属性名。参数说明是参数的说明信息,用于显示在计算机设备的显示界面中。其中,字段转换是将第一结构化数据按照第二结构化数据中预设的字段进行转换。整体转换是对第一结构化数据整体进行转换。
在一个实施例中,如图4所示,计算机设备预先对待赋值变量配置数据格式,配置待赋值变量的转换方式、参数名称、参数说明和参数值。参数名称包括body、targets、type和 rowSize。参数body的参数说明为body,没有参数值;参数targets的参数说明为targets,参数值为$return.a$;参数type的参数说明为type,参数值为$return.b.c$+$return.b.d$;参数rowSize的参数说明为rowSize,参数值为$return.b.d$。402为转换函数的编辑按钮。当计算机设备接收到对402的触发操作时,进入如图5所展示的界面。
在图5中,包括公式定义器,用户可以在公式定义器的编辑框中编辑转换函数。图5还包括有变量,即第一结构化数据中的各个参数,以及各个参数之间的结构化关系。其中,转换函数为“$return.b.c$+$return.b.d$”,$符号包围起来的字符串表示第一结构化数据中对应参数的值,表示return.b.c的值和return.b.d的值连接成的字符串返回到目标参数中。
在另一个实施例中,如图6所示,当转换方式为整体转换时,展示转换函数编辑框和转换函数的编辑按钮602。当计算机设备接收到对602的触发操作时,可以编辑转换函数。
转换函数指的是将第一结构化数据的部分或整体转换为第二结构化数据的函数。转换函数可以包括转换函数的名称、第一结构化数据中包括参数标识、第一业务系统的标识、第二业务系统的标识、注释说明等信息。转换函数的格式可以根据需要进行设置。例如转换函数的格式可以是:$函数名称$(参数1,参数2,…)。其中,参数的格式跟实际的javamethod匹配;参数可以设置固定值,也可以是第一结构化数据中的值。当参数是第一结构化数据中的值时,可以采用预设标识进行标记。预设标识例如$。
计算机设备可以预先设置各个待赋值变量分别对应的转换函数。可选地,转换函数可以是预先由用户输入的,也可以是第二业务系统中的内置函数。
转换函数为第二业务系统中的内置函数,则计算机设备调用转换函数将第一业务系统中的第一结构化数据转换为第二业务系统中的第二结构化数据时,可以避免用户执行删数据等操作,更安全地进行数据转换,并且转换函数为第二业务系统中的内置函数,数据转换时可以提高数据的兼容性,更准确进行数据转换。
步骤206,针对每一个待赋值变量,从转换函数中获取包含结构化信息的参数标识;基于参数标识从第一结构化数据获取对应的第一数据,将第一数据赋值给待赋值变量,得到第二数据。
包含结构化信息的参数标识,例如,参数标识为return.b.c,表示return为b的父级,b为c的父级;又如,参数标识为return.b.d,表示return为b的父级,b为d的父级。
第一数据指的是第一结构化数据中参数标识对应的数据。第二数据指的是第一数据赋值给待赋值变量得到的数据。
计算机设备针对每一个待赋值变量,获取待赋值变量的转换函数,从转换函数中获取包含结构化信息的参数标识;基于参数标识可以从第一结构化数据中查找到对应的第一数据,获取第一数据,并将第一数据赋值给待赋值变量,得到第二数据。
计算机设备可以通过反射机制对转换函数进行处理。反射机制是在程序运行状态中,对于任何一个类,都可以获得这个类的所有属性和方法;对于给定的一个对象,都能够调用它的任意一个属性和方法。这种动态获取类的内容以及动态调用对象的方法称为反射机制。
步骤208,基于各个第二数据生成第二结构化数据。
第二结构化数据指的是第二业务系统中的数据。第二结构化数据包含有结构化信息。结构化信息是指信息经过分析后可分解成多个互相关联的组成部分,各组成部分间有明确的层次结构,并有一定的操作规范。例如,第二结构化数据为body.type,表示body为type的父级;又如第二结构化数据为body.targets,表示body为targets的父级。
在一种实施方式中,计算机设备可以将该待赋值变量的第二数据直接作为第二结构化数据。在另一种实施方式中,计算机设备也可以将待赋值变量进行转换配置得到第二结构化数据。例如,待赋值变量的转换配置为$a$+”123”,则得到的第二结构化数据为待赋值变量的第二数据加上”123”。在另一种实施方式中,计算机设备还可以将各个待赋值变量的第二数据进行融合得到第二结构化数据。其中,融合方式可以是按照各个第二数据的结构化关系进行拼接,也可以是获取融合函数,基于融合函数将各个第二数据进行融合,不限于此。
在另一个实施例中,当计算机设备从第二业务系统中确定的待赋值变量的数量为一个时,可以对待赋值变量的第二数据进行转换处理,得到第二结构化数据。例如,待赋值变量的类型为一个对象数组下的字符串,如$a.e.f$,这时候需要考虑f的上级数据的类型,例如通过转换配置拿到的原始值为“[‘f1’,’f2’,’f3’]”,那么最终得到的第二结构化数据会是这样:
{
"a": {
"e": [{
"f": "f1"
},
{
"f": "f2"
},
{
"f": "f3"
}]
}
}
上述数据转换方法,从第一业务系统中获取第一结构化数据;从第二业务系统中确定各个待赋值变量,获取各个待赋值变量分别对应的转换函数;针对每一个待赋值变量,从转换函数中获取包含结构化信息的参数标识;基于参数标识从第一结构化数据获取对应的第一数据,将第一数据赋值给待赋值变量,得到第二数据;再基于各个第二数据可以生成第二结构化数据,即将第一业务系统中的第一结构化数据转换成第二业务系统中的第二结构化数据,实现了不同业务系统中的不同结构化数据的兼容。
并且,上述数据转换方法,相对于开发人员手动编辑程序代码进行数据转换,可以减少开发工作量和后续维护成本、以及系统提供方和用户之间的沟通成本。上述数据转换方法,配置灵活,适应面广,使用方便。
在一个实施例中,第一业务系统如销售系统,第二业务系统如财务系统,则第一业务系统中的第一结构化数据为各种销售数据,如各种商品的名称、类别、销售额、利润等,则计算机设备可以将销售系统中的第一结构化数据转换至财务系统,得到财务系统中的第二结构化数据,以便于财务系统进行统计数据。
在一个实施例中,第一业务系统如管理系统,第二业务系统如财务系统,则第一业务系统中的第一结构化数据为各个员工、各个员工的职位、入职时间、年龄、毕业学校、本月工作时长、银行卡号等,则计算机设备可以将管理系统中的第一结构化数据转换至财务系统,得到财务系统中的第二结构化数据,以便于财务系统进行统计数据。
在一个实施例中,如图7所示,计算机设备预先执行步骤702,对第一结构化数据和待赋值变量配置参数,预先执行步骤704,配置待赋值变量的转换函数。当计算机设备检测到数据转换指令时,则执行步骤706,触发转换;执行步骤708,读取转换函数;执行步骤710,执行转换,可以将第一结构化数据转换为第二结构化数据。
在一个实施例中,计算机设备可以通过ScriptEngine引擎进行数据转换。ScriptEngine引擎是java中的javascript引擎,可以动态执行javascript代码。
在另一个实施例中,计算机设备也可以通过第二业务系统中的通用函数进行数据转换。
在另一个实施例中,计算机设备也可以通过BeanShell进行数据转换。其中,BeanShell是一个小型嵌入式Java源代码解释器,具有对象脚本语言特性,能够动态地执行标准JAVA语法,并利用在JavaScript和Perl中常见的的松散类型、命令、闭包等通用脚本来对其进行拓展。
在一个实施例中,从第一业务系统中获取第一结构化数据之后,还包括:获取转换方式;转换方式为整体转换或者字段转换;从第二业务系统中确定各个待赋值变量,包括:从第二业务系统中确定转换方式对应的各个待赋值变量。
整体转换指的是将第一结构化数据整体转换为第二结构化数据。字段转换指的是将按照预设的字段将第一结构数据转换为第二结构化数据。
在一种实施方式中,当转换方式是整体转换时,从第二业务系统中确定整体转换对应的对象作为待赋值变量。
可以理解的是,当转换方式是整体转换时,整体转换对应的对象为一个,即待赋值变量为一个,则计算机设备将第一结构化数据进行整体转换,将第一结构化数据赋值给待赋值变量,得到第二数据,该第二数据也为第二结构化数据。
在另一种实施方式中,当转换方式是字段转换时,遍历第二业务系统中对象所包含的各个字段;各个字段之间存在结构化关系;依次将各个字段作为待赋值变量。
第二业务系统中的对象是整体转换对应的对象,在该对象中包括有各个字段。因此,当转换方式为字段转换时,遍历第二业务系统中对象所包括的各个字段,并且各个字段之间存在结构化关系,依次将各个字段作为待赋值变量。
在本实施例中,计算机设备可以通过不同的转换方式实现了不同业务系统中的不同结构化数据的兼容。当转换方式为整体转换时,将整体转换对应的对象作为待赋值变量,则可以直接将第一结构化数据整体转换为第二结构化数据,提高数据转换的效率。当转换方式为字段转换时,依次将对象所包括的各个字段作为待赋值变量,再从第一结构化数据中获取第一数据进行赋值,最终生成第二结构化数据,分别按照第二业务系统中预设的各个字段进行数据转换,可以将第一结构化数据转换为第二结构化数据,实现不同的业务系统之间的数据兼容,并且在后续当转换出错时,可以快速定位至转换出错的字段的位置。
在一个实施例中,当转换方式是字段转换时,当其中一个字段转换出错时,可以快速地定位至出错的位置,便于用户对出错的字段进行修改。
在一个实施例中,如图8所示,计算机设备执行步骤802,判断转换方式;当转换方式为整体转换时,执行步骤804,获取转换函数;执行步骤806,执行转换函数;执行步骤808,返回结果。当转换方式为字段转换时,执行步骤810,遍历第二业务系统中对象所包含的各个字段;执行步骤812,获取各个转换函数;执行步骤814,执行各个转换函数;执行步骤816,字段转换后的值拼接成第二结构化数据;执行步骤808,返回结果。
在一个实施例中,从转换函数中获取包含结构化信息的参数标识,包括:从转换函数中确定第一标识的位置,以及第二标识的位置;第一标识和第二标识为相匹配的一对标识;获取第一标识的位置和第二标识的位置之间的第一字符串;对第一字符串进行分解,得到包含结构化信息的参数标识。
第一标识和第二标识均可以根据用户需要进行设置。例如,第一标识可以设置为“$(”,第二标识可以设置为“)”;又如,第一标识可以设置为“%”,第二标识可以设置为“*”;又如,第一标识可以设置为“#(”,第二标识可以设置为“#(”。第一标识和第二标识为相匹配的一对标识。第一标识和第二标识可以相同,也可以不同。
第一字符串指的是第一标识的位置和第二标识的位置之间的字符串。
计算机设备可以从转换函数中确定第一标识的位置,以及第二标识的位置,然后获取第一标识的位置和第二标识的位置之间的第一字符串,对第一字符串进行分解,得到包含结构化信息的参数标识。其中,第一字符串所包括的参数标识可以为一个,也可以是至少两个。
计算机设备对第一字符串进行分解的方式,包括:从第一字符串中获取分解标识,将分解标识所在的位置作为分解位置,按照各个分解位置将第一字符串进行分解,得到包含结构化信息的各个参数标识。
分解标识例如“,”、“.”、“*”,不限于此。
例如,第一标识为“$(”,第二标识为“)”,转换函数为:$表查询.查询单个值$("select fd_id from table1 where fd_name = '"+$return.b.c$+"' and fd_org_type ="+$return.b.d$,"EKP-TIC") + $return.a$,则从转换函数中可以获取第一字符串为:"select fd_id from table1 where fd_name = '"+$return.b.c$+"' and fd_org_type ="+$return.b.d$,"EKP-TIC",分解标识为“,”,则对第一字符串进行分解,可以得到两个包含结构化信息的参数标识,分别为"select fd_id from table1 where fd_name = '"+$return.b.c$+"' and fd_org_type = "+$return.b.d$和"EKP-TIC"。
在本实施例中,从转换函数中确定第一标识的位置,以及第二标识的位置;第一标识和第二标识为相匹配的一对标识;获取第一标识的位置和第二标识的位置之间的第一字符串;对第一字符串进行分解,可以得到准确的包含结构化信息的参数标识。
在一个实施例中,从第二业务系统中确定各个待赋值变量,获取各个待赋值变量分别对应的转换函数之后,还包括:针对每一个待赋值变量,从待赋值变量对应的转换函数中确定转换函数的函数名称;从第二业务系统中确定函数名称所对应的类路径和方法标识;基于类路径和方法标识确定目标代码;基于参数标识从第一结构化数据获取对应的第一数据之后,还包括:将第一数据赋值给目标代码中的方法标识对应的方法参数;将第一数据赋值给待赋值变量,得到第二数据,包括:执行赋值后的目标代码,将方法参数的第一数据赋值给待赋值变量,得到第二数据。
在转换函数中,包括有转换函数的函数名称,通过转换函数的函数名称可以从第二业务系统的配置文件中确定转换函数的类路径和方法标识。类路径执行类的名称,可以从执行类的名称中获取到Java类全路径。方法标识即method名称,方法标识中包括方法参数。
计算机设备基于类路径和方法标识可以从存储器中确定出于类路径和方法标识均匹配的目标代码,执行目标代码,可以将第一数据赋值给目标代码中的方法标识对应的方法参数,执行赋值后的目标代码,再将方法参数的第一数据赋值给待赋值变量,可以得到第二数据。
在一个实施例中,当在数据转换过程中需要用到后台数据时,执行针对每一个待赋值变量,从待赋值变量对应的转换函数中确定转换函数的函数名称步骤,可以更加安全获取数据以及数据转换。其中,后台数据可以存储在系统数据库中,也可以存储在系统内存或者文件系统中,并不限定。
在本实施例中,从转换函数中确定函数名称,从第二业务系统中确定函数名称对应的类路径和方法标识,从而确定目标代码,将第一数据赋值给目标代码中的方法标识对应的方法参数,执行赋值后的目标代码,再将方法参数的第一数据赋值给待赋值变量,可以得到第二数据,即在数据转换过程中,先将第一数据赋值给方法标识的方法参数,执行赋值后的目标代码,即将赋值后的方法参数传给目标代码的函数进行执行,再将方法参数的第一数据赋值给待赋值变量,经过两层处理,可以更加安全也更方便。并且,对于复杂的数据转换场景,比如对结果进行RSA加密场景下,可以更加安全、方便,计算机设备的性能也更好。
在一个实施例中,从待赋值变量对应的转换函数中确定转换函数的函数名称,包括:从待赋值变量对应的转换函数中确定第三标识的位置,以及第四标识的位置;第三标识和第四标识为相匹配的一对标识;获取第三标识的位置和第四标识的位置之间的第二字符串,并基于第二字符串确定转换函数的函数名称。
第三标识和第四标识均可以根据用户需要进行设置。例如,第三标识可以设置为“$”,第四标识可以设置为“$(”;又如,第三标识可以设置为“%”,第四标识可以设置为“*”;又如,第三标识可以设置为“#(”,第四标识可以设置为“#(”。第三标识和第四标识为相匹配的一对标识。第三标识和第四标识可以相同,也可以不同。
第二字符串指的是第三标识的位置和第四标识的位置之间的字符串。
计算机设备可以从转换函数中确定第三标识的位置,以及第四标识的位置,然后获取第三标识的位置和第四标识的位置之间的第二字符串,基于第二字符串可以确定转换函数的函数名称。
例如,第三标识为“$”,第四标识可以设置为“$(”,转换函数为:$表查询.查询单个值$("select fd_id from table1 where fd_name = '"+$return.b.c$+"' and fd_org_type = "+$return.b.d$,"EKP-TIC") + $return.a$。计算机设备可以获取第三标识的位置和第四标识的位置之间的第二字符串为:表查询.查询单个值,基于该第二字符串可以确定转换函数的函数名称为:表查询.查询单个值。
在本实施例中,从待赋值变量对应的转换函数中确定第三标识的位置,以及第四标识的位置;第三标识和第四标识为相匹配的一对标识;获取第三标识的位置和第四标识的位置之间的第二字符串,并基于第二字符串可以准确确定转换函数的函数名称。
在一个实施例中,如图9所示,计算机设备可以预先配置数据转换规则,在数据转换规则中包括有转换函数,还可以包括其他的变量体。计算机设备基于数据转换规则,对数据进行转换。计算机设备执行步骤902,抽取函数信息;执行步骤904,抽取函数的参数信息;执行步骤906,计算参数值;执行步骤908,执行函数;执行步骤910,获取函数执行结果,替换函数体;执行步骤912,抽取变量;执行步骤914,获取变量的值,替换变量体;执行步骤916,获取最终结果。
例如,计算机设备预先配置的数据转换规则为:$表查询.查询单个值$("selectfd_id from table1 where fd_name = '"+$return.b.c$+"' and fd_org_type = "+$return.b.d$,"EKP-TIC") + $return.a$,解析数据转换规则,抽取以第三标识“$”开头并以第四标识“$(”结尾的第二字符串,得到函数名称“表查询.查询单个值”,从系统配置文件中根据函数名称获取到对应的类路径和方法标识。
计算机设备抽取以第一标识“$(”开头并以第二标识“)”结尾的第一字符串,根据分解标识“,”分解可以得到两个参数标识:“"select fd_id from table1 where fd_name= '"+$return.b.c$+"' and fd_org_type = "+$return.b.d$”和“"EKP-TIC"”。
以参数标识“"select fd_id from table1 where fd_name = '"+$return.b.c$+"' and fd_org_type = "+$return.b.d$”为例,先解析变量信息,得到$return.b.c$和$return.b.d$,从第一结构化数据中获取到对应的参数的值,使用ScriptEngine引擎执行并得到最终参数值。
计算机设备基于类路径和方法标识确定目标代码;通过反射机制,执行目标代码,将最终参数值赋值给方法标识对应的方法参数。
计算机设备将方法参数的值替换掉函数体“$表查询.查询单个值$("select fd_id from table1 where fd_name = '"+$return.b.c$+"' and fd_org_type = "+$return.b.d$,"EKP-TIC")”。如果方法参数的值为“abc”,则替换后为”abc”+ $return.a$。
计算机设备解析”abc”+ $return.a$,抽取到变量“return.a”。其中,抽取到的变量可以是一个,也可以是至少两个。
计算机设备从第一结构化数据中获取到“return.a”的值,并替换到变量体中。如果“return.a”的值为”123”,则替换后的数据转换规则为”abc”+”123”。
计算机设备使用ScriptEngine引擎执行并获取到最终结果为”abc123”。
应该理解的是,虽然图2、图7至图9的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、图7至图9中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图10所示,提供了一种数据转换适配器1000,包括:第一结构化数据获取模块1002、转换函数获取模块1004、赋值模块1006和第二结构化数据生成模块1008,其中:
第一结构化数据获取模块1002,用于从第一业务系统中获取第一结构化数据。
转换函数获取模块1004,用于从第二业务系统中确定各个待赋值变量,获取各个待赋值变量分别对应的转换函数;转换函数为第二业务系统中的内置函数。
赋值模块1006,用于针对每一个待赋值变量,从转换函数中获取包含结构化信息的参数标识;基于参数标识从第一结构化数据获取对应的第一数据,将第一数据赋值给待赋值变量,得到第二数据。
第二结构化数据生成模块1008,用于基于各个第二数据生成第二结构化数据。
上述数据转换适配器,从第一业务系统中获取第一结构化数据;从第二业务系统中确定各个待赋值变量,获取各个待赋值变量分别对应的转换函数;针对每一个待赋值变量,从转换函数中获取包含结构化信息的参数标识;基于参数标识从第一结构化数据获取对应的第一数据,将第一数据赋值给待赋值变量,得到第二数据;再基于各个第二数据可以生成第二结构化数据,即将第一业务系统中的第一结构化数据转换成第二业务系统中的第二结构化数据,实现了不同业务系统中的不同结构化数据的兼容。
在一个实施例中,上述数据转换适配器1000还包括转换方式获取模块,用于获取转换方式;转换方式为整体转换或者字段转换;上述转换函数获取模块1004还用于从第二业务系统中确定转换方式对应的各个待赋值变量。
在一个实施例中,上述转换函数获取模块1004还用于当转换方式是整体转换时,从第二业务系统中确定整体转换对应的对象作为待赋值变量。
在一个实施例中,上述转换函数获取模块1004还用于当转换方式是字段转换时,遍历第二业务系统中对象所包含的各个字段;各个字段之间存在结构化关系;依次将各个字段作为待赋值变量。
在一个实施例中,上述赋值模块1006还用于从转换函数中确定第一标识的位置,以及第二标识的位置;第一标识和第二标识为相匹配的一对标识;获取第一标识的位置和第二标识的位置之间的第一字符串;对第一字符串进行分解,得到包含结构化信息的参数标识。
在一个实施例中,上述数据转换适配器1000还包括目标代码确定模块,用于针对每一个待赋值变量,从待赋值变量对应的转换函数中确定转换函数的函数名称;从第二业务系统中确定函数名称所对应的类路径和方法标识;基于类路径和方法标识确定目标代码;上述赋值模块1006还用于将第一数据赋值给目标代码中的方法标识对应的方法参数;执行赋值后的目标代码,将方法参数的第一数据赋值给待赋值变量,得到第二数据。
在一个实施例中,上述目标代码确定模块还用于从待赋值变量对应的转换函数中确定第三标识的位置,以及第四标识的位置;第三标识和第四标识为相匹配的一对标识;获取第三标识的位置和第四标识的位置之间的第二字符串,并基于第二字符串确定转换函数的函数名称。
在一个实施例中,转换函数为第二业务系统中的内置函数。
关于数据转换适配器的具体限定可以参见上文中对于数据转换方法的限定,在此不再赘述。上述数据转换适配器中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种数据转换方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种数据转换方法,其特征在于,所述方法包括:
配置第一业务系统中的第一结构化数据的参数名称、参数说明和参数类型;其中,参数名称是对应JSON对象的属性名,参数说明是参数的说明信息,用于显示在显示界面中,参数类型是对应JSON参数值的类型;
从第一业务系统中获取第一结构化数据;
获取转换方式;所述转换方式为整体转换或者字段转换;
配置第二业务系统中的待赋值变量的转换方式、转换函数、参数名称、参数说明;其中,所述转换方式包括整体转换和字段转换,所述转换函数是将所述第一结构化数据转换为第二结构化数据的函数,所述待赋值变量的参数名称是所述待赋值变量对应JSON对象的属性名,所述待赋值变量的参数说明是参数的说明信息,用于显示在显示界面中;
当所述转换方式是整体转换时,从第二业务系统中确定所述整体转换对应的对象作为待赋值变量;当所述转换方式是字段转换时,遍历第二业务系统中对象所包含的各个字段,依次将各个字段作为待赋值变量;各个字段之间存在结构化关系;
获取各个所述待赋值变量分别对应的转换函数;所述转换函数为所述第二业务系统中的内置函数;
针对每一个所述待赋值变量,从所述待赋值变量对应的转换函数中确定所述转换函数的函数名称;
从所述第二业务系统中确定所述函数名称所对应的类路径和方法标识;
基于所述类路径和方法标识确定目标代码;
针对每一个所述待赋值变量,从所述转换函数中获取包含结构化信息的参数标识;基于所述参数标识从所述第一结构化数据获取对应的第一数据,将所述第一数据赋值给所述目标代码中的所述方法标识对应的方法参数;执行赋值后的目标代码,将所述方法参数的第一数据赋值给所述待赋值变量,得到第二数据;
基于各个所述第二数据生成第二结构化数据;
当所述转换方式是字段转换时,当其中一个字段转换出错时,定位至出错的位置。
2.根据权利要求1所述的方法,其特征在于,所述从所述转换函数中获取包含结构化信息的参数标识,包括:
从所述转换函数中确定第一标识的位置,以及第二标识的位置;所述第一标识和所述第二标识为相匹配的一对标识;
获取所述第一标识的位置和所述第二标识的位置之间的第一字符串;
对所述第一字符串进行分解,得到包含结构化信息的参数标识。
3.根据权利要求1所述的方法,其特征在于,所述从所述待赋值变量对应的转换函数中确定所述转换函数的函数名称,包括:
从所述待赋值变量对应的转换函数中确定第三标识的位置,以及第四标识的位置;所述第三标识和所述第四标识为相匹配的一对标识;
获取所述第三标识的位置和所述第四标识的位置之间的第二字符串,并基于所述第二字符串确定所述转换函数的函数名称。
4.根据权利要求1所述的方法,其特征在于,所述整体转换指的是将第一结构化数据整体转换为第二结构化数据;所述字段转换指的是将按照预设的字段将第一结构数据转换为第二结构化数据。
5.一种数据转换适配器,其特征在于,所述适配器用于实现权利要求1所述的方法的步骤,包括:
配置第一业务系统中的第一结构化数据的参数名称、参数说明和参数类型;其中,参数名称是对应JSON对象的属性名,参数说明是参数的说明信息,用于显示在显示界面中,参数类型是对应JSON参数值的类型;
第一结构化数据获取模块,用于从第一业务系统中获取第一结构化数据;
转换方式获取模块,用于获取转换方式;所述转换方式为整体转换或者字段转换;
配置第二业务系统中的待赋值变量的转换方式、转换函数、参数名称、参数说明;其中,所述转换方式包括整体转换和字段转换,所述转换函数是将所述第一结构化数据转换为所述第二结构化数据的函数,所述待赋值变量的参数名称是所述待赋值变量对应JSON对象的属性名,所述待赋值变量的参数说明是参数的说明信息,用于显示在显示界面中;
转换函数获取模块,用于当所述转换方式是整体转换时,从第二业务系统中确定所述整体转换对应的对象作为待赋值变量;当所述转换方式是字段转换时,遍历第二业务系统中对象所包含的各个字段,依次将各个字段作为待赋值变量;各个字段之间存在结构化关系;获取各个所述待赋值变量分别对应的转换函数;所述转换函数为所述第二业务系统中的内置函数;
目标代码确定模块,用于针对每一个所述待赋值变量,从所述待赋值变量对应的转换函数中确定所述转换函数的函数名称;从所述第二业务系统中确定所述函数名称所对应的类路径和方法标识;基于所述类路径和方法标识确定目标代码;
赋值模块,用于针对每一个所述待赋值变量,从所述转换函数中获取包含结构化信息的参数标识;基于所述参数标识从所述第一结构化数据获取对应的第一数据,将所述第一数据赋值给所述目标代码中的所述方法标识对应的方法参数;执行赋值后的目标代码,将所述方法参数的第一数据赋值给所述待赋值变量,得到第二数据;
第二结构化数据生成模块,用于基于各个所述第二数据生成第二结构化数据;
当所述转换方式是字段转换时,当其中一个字段转换出错时,定位至出错的位置。
6.根据权利要求5所述的适配器,其特征在于,所述赋值模块还用于从所述转换函数中确定第一标识的位置,以及第二标识的位置;所述第一标识和所述第二标识为相匹配的一对标识;获取所述第一标识的位置和所述第二标识的位置之间的第一字符串;对所述第一字符串进行分解,得到包含结构化信息的参数标识。
7.根据权利要求5所述的适配器,其特征在于,所述目标代码确定模块还用于从所述待赋值变量对应的转换函数中确定第三标识的位置,以及第四标识的位置;所述第三标识和所述第四标识为相匹配的一对标识;获取所述第三标识的位置和所述第四标识的位置之间的第二字符串,并基于所述第二字符串确定所述转换函数的函数名称。
8.根据权利要求5所述的适配器,其特征在于,所述整体转换指的是将第一结构化数据整体转换为第二结构化数据;所述字段转换指的是将按照预设的字段将第一结构数据转换为第二结构化数据。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011547078.7A CN112287013B (zh) | 2020-12-24 | 2020-12-24 | 数据转换方法及适配器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011547078.7A CN112287013B (zh) | 2020-12-24 | 2020-12-24 | 数据转换方法及适配器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112287013A CN112287013A (zh) | 2021-01-29 |
CN112287013B true CN112287013B (zh) | 2021-05-07 |
Family
ID=74426091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011547078.7A Active CN112287013B (zh) | 2020-12-24 | 2020-12-24 | 数据转换方法及适配器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112287013B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113095783A (zh) * | 2021-04-12 | 2021-07-09 | 远光软件股份有限公司 | 转换财务数据调整期的方法、装置、存储介质和电子设备 |
CN113420531B (zh) * | 2021-06-24 | 2024-03-12 | 北京达佳互联信息技术有限公司 | 一种代码文本的转换方法、装置及存储介质 |
CN115600560B (zh) * | 2022-09-28 | 2023-06-20 | 中电金信软件有限公司 | 一种数据转换方法、装置、系统、电子设备及存储介质 |
CN116048478B (zh) * | 2023-03-07 | 2023-05-30 | 智慧眼科技股份有限公司 | 一种字典转义方法、装置、设备及计算机可读存储介质 |
CN116628066B (zh) * | 2023-07-20 | 2024-01-09 | 腾讯科技(深圳)有限公司 | 数据传输方法、装置、计算机设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1870821A1 (en) * | 2005-03-30 | 2007-12-26 | Fujitsu Ltd. | Structured data conversion method |
CN109657103A (zh) * | 2018-12-19 | 2019-04-19 | 广州天鹏计算机科技有限公司 | 数据结构的转换方法、装置、计算机设备和存储介质 |
CN110377650A (zh) * | 2019-06-18 | 2019-10-25 | 中国平安财产保险股份有限公司 | 数据转换方法、装置、计算机设备及存储介质 |
-
2020
- 2020-12-24 CN CN202011547078.7A patent/CN112287013B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1870821A1 (en) * | 2005-03-30 | 2007-12-26 | Fujitsu Ltd. | Structured data conversion method |
CN109657103A (zh) * | 2018-12-19 | 2019-04-19 | 广州天鹏计算机科技有限公司 | 数据结构的转换方法、装置、计算机设备和存储介质 |
CN110377650A (zh) * | 2019-06-18 | 2019-10-25 | 中国平安财产保险股份有限公司 | 数据转换方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112287013A (zh) | 2021-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112287013B (zh) | 数据转换方法及适配器 | |
CN107644286B (zh) | 工作流处理方法及装置 | |
US9098314B2 (en) | Systems and methods for web based application modeling and generation | |
CN101739390B (zh) | 基于技术设计文档的数据转换 | |
US11106906B2 (en) | Systems and methods for information extraction from text documents with spatial context | |
CN111367976B (zh) | 基于java反射机制的excel文件数据的导出方法及装置 | |
CN108509339A (zh) | 基于浏览器和思维导图的测试用例生成方法、装置及设备 | |
CN101620536A (zh) | 一种调用功能函数的方法和装置 | |
US9990348B2 (en) | System and method for managing data using a spreadsheet model | |
CN110795697A (zh) | 逻辑表达式的获取方法、装置、存储介质以及电子装置 | |
CN110889013B (zh) | 一种基于xml的数据关联方法、装置、服务器及存储介质 | |
CN117193728A (zh) | 软件即服务平台的开发方法及装置 | |
US10503823B2 (en) | Method and apparatus providing contextual suggestion in planning spreadsheet | |
CN115469849B (zh) | 一种业务处理系统、方法、电子设备和存储介质 | |
US10318524B2 (en) | Reporting and data governance management | |
CN115794214A (zh) | 应用模块元数据管理方法、设备、存储介质及装置 | |
CN115629763A (zh) | 目标代码的生成方法、npu指令的显示方法及装置 | |
CN112685678B (zh) | 页面配置方法、装置、计算机设备和存储介质 | |
CN115437616A (zh) | 一种基于JPA的Web代码自动生成系统 | |
CN112181407B (zh) | 业务实现处理方法及装置、系统、电子设备和存储介质 | |
CN110471708B (zh) | 基于可重用组件的配置项获取的方法及装置 | |
Habibi et al. | Generating test as a web service (TaaWS) through a method-based attribute grammar | |
CN110045961B (zh) | 业务规则的管理方法及管理平台 | |
KR102614060B1 (ko) | 일반 애플리케이션을 서비스형 소프트웨어 애플리케이션으로 변환하기 위한 자동 분석 방법 | |
CN111310414B (zh) | Rdf格式文件的解析方法及生成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |