用于分析和转换标准数据源文件的方法及系统与流程

文档序号:21182542发布日期:2020-06-20 17:53阅读:194来源:国知局
用于分析和转换标准数据源文件的方法及系统与流程

本发明涉及数据处理领域,特别地,涉及用于分析和转换标准数据源文件的方法及系统。



背景技术:

在汽车电子行业中,汽车开放系统架构(automotiveopensystemarchitecture,简称为autosar)的标准数据源文件被广泛应用于存储车辆的电子控制单元(electroniccontrolunit,简称为ecu)之间的通信数据信息。

但是,autosar标准的数据源文件具有复杂的文件结构,内容稍微改动就会引起数据源文件的大幅变更,难以定位变更位置和内容。汽车整车制造商或零部件供应商在使用第三方配置工具进行配置autosar标准的数据源文件时,由于操作复杂,配置项内容过多,导致配置效率低下并且容易出错。另外,汽车整车制造商或零部件供应商可能会提供不符合autosar标准的非标准数据源文件。

因此,存在分析不同标准数据源文件和在标准数据源文件和非标准数据源文件之间进行转换的需求。

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



技术实现要素:

根据本发明的实施例提出的用于分析或转换标准数据源文件的方法、系统及其存储介质,旨在解决上文中提及的问题,对标准数据源文件(特别是autosar标准数据源文件)进行对比分析时,能够快速对比不同版本的标准数据源文件之间的差异,并且支持标准数据源文件与非标准数据源文件之间的相互转化,提高基于标准数据源文件进行车辆功能配置的效率和准确度。

根据本发明的一方面,提出一种用于分析标准数据源文件的方法,包括:建立多层级数据项模型,所述多层级数据项模型包括属于不同层级的关键数据项,所述关键数据项存储在第一标准数据源文件和第二标准数据源文件中;基于所述关键数据项分别在所述第一标准数据源文件和所述第二标准数据源文件中获取与所述关键数据项对应的第一属性信息和第二属性信息;以及将所述第一属性信息与所述第二属性信息进行比较以获取所述第一标准数据源文件和所述第二标准数据源文件之间的变化。

根据本发明的另一方面,提出一种用于转换标准数据源文件和非标准数据源文件的方法,包括:建立多层级数据项模型,所述多层级数据项模型包括属于不同层级的关键数据项,所述关键数据项存储在所述标准数据源文件和所述非标准数据源文件中;基于所述关键数据项在所述非标准数据源文件中获取与所述关键数据项对应的属性信息;基于所述属性信息生成所述多层级数据项模型与所述非标准数据源文件之间的映射关系;以及基于所述映射关系将所述非标准数据源文件转换为标准数据源文件,或者将所述标准数据源文件转换为非标准数据源文件。

根据本发明的又一方面,提出一种用于分析标准数据源文件的系统,包括:建模单元,其被设置为建立多层级数据项模型,所述多层级数据项模型包括属于不同层级的关键数据项,所述关键数据项存储在第一标准数据源文件和第二标准数据源文件中;获取单元,其被配置为基于所述关键数据项分别在所述第一标准数据源文件和所述第二标准数据源文件中获取与所述关键数据项对应的第一属性信息和第二属性信息;以及比较单元,其被配置为将所述第一属性信息与所述第二属性信息进行比较以获取所述第一标准数据源文件和所述第二标准数据源文件之间的变化。

根据本发明的又一方面,提出一种用于转换标准数据源文件和非标准数据源文件的系统,包括:建模单元,其被设置为建立多层级数据项模型,所述多层级数据项模型包括属于不同层级的关键数据项,所述关键数据项存储在所述标准数据源文件和所述非标准数据源文件中;获取单元,其被设置为基于所述关键数据项在所述非标准数据源文件中获取与所述关键数据项对应的属性信息;映射单元,其被设置为基于所述属性信息生成所述多层级数据项模型与所述非标准数据源文件之间的映射关系;以及转换单元,其被设置为基于所述映射关系将所述非标准数据源文件转换为标准数据源文件,或者将所述标准数据源文件转换为非标准数据源文件。

根据本发明的又一方面,还提出一种计算机可读存储介质,其上存储有计算机程序,该计算机程序包括可执行指令,当该可执行指令被处理器执行时,实施如上所述的方法。

根据本发明的又一方面,还提出一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器设置为执行所述可执行指令以实施如上所述的方法。

通过使用本发明实施例中提出的方法、系统和存储介质,能够通过快速和精确地对比不同版本的标准数据源文件之间的差异,使用户精确分辨数据更改位置和内容,避免重要信息遗失;在需要对非标准数据源文件与标准数据源文件进行相互转化时,提高了采用相对简单的非标准数据源文件配置和生成标准数据源文件过程的效率和准确度,使配置更容易,在降低成本的同时提高标准数据源文件的准确性。

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

附图说明

通过参照附图详细描述其示例性实施例,本发明的上述和其它特征及优点将变得更加明显。

图1示出根据本发明的实施例的autosar标准数据源文件的关键数据项的结构;

图2示出根据本发明的实施例的用于分析autosar标准数据源文件的方法的流程图;

图3示出根据本发明的实施例的根据autosar标准数据源文件生成的属性信息的示例性结构;

图4示出根据本发明的实施例的标准数据源文件之间的变化的示例性结果;

图5示出根据本发明的实施例的用于转换autosar标准数据源文件和非autosar标准数据源文件的方法的流程图;

图6示出根据本发明的实施例的根据autosar标准数据源文件生成的属性信息的另一示例性结构;

图7示出根据本发明的实施例的用于分析autosar标准数据源文件的系统的结构图;以及

图8示出根据本发明的实施例的用于转换autosar标准数据源文件和非autosar标准数据源文件的系统的结构图。

具体实施方式

现在将参考附图更全面地描述本发明的示例性实施例。然而,示例性实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施方式;相反,提供这些实施方式使得本发明将全面和完整,并将示例性实施例的构思全面地传达给本领域的技术人员。在附图中,为了清晰,可能会夸大部分元件的尺寸或加以变形。在附图中相同的附图标记表示相同或类似的结构,因而将省略它们的详细描述。

此外,所描述的特征、结构或特性能够以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有所述特定细节中的一个或更多,或者可以采用其它的方法、元件等。在其它情况下,不详细示出或描述公知结构、方法或者操作以避免模糊本发明的各方面。

在下文中,将以汽车电子领域中的autosar标准数据源文件为示例介绍本发明的方法和系统,但是本领域技术人员将理解,本发明所提出的方法和系统将不限于应用在autosar标准数据源文件的分析与转换中。

autosar由汽车制造商、部件供应商和电子、半导体、软件系统公司联合建立,致力于为汽车开发的开放的标准化软件架构。autosar作为在ecu中运行的标准化基础软件,覆盖车辆管理系统各个层面的功能,包括执行、管理、系统定制等,可以改善系统可靠性和稳定性。autosar是一种独立于硬件的软件架构,可以指定软件架构堆叠流程并整合至ecu,同时指定了各种车辆应用接口规范,以在不同车辆平台间重复使用。汽车整车制造商或零部件供应商通过配置更新autosar标准数据源文件进行车辆ecu功能的修改和升级,提高和改善车辆系统的功能,可靠性和稳定性。

首先介绍autosar标准数据源文件的结构。

autosar标准数据源文件采用可扩展标记语言(extensiblemarkuplanguage,简称为xml)的格式编写,一般以.arxml为扩展名。autosar标准数据源文件的文件格式和xml语言文件格式类似,由具有不同层级的多个数据项(attribute)和与数据项对应的属性(property)构成,其中属性为对应数据项的配置信息,一般是诸如数值形式的参数值或者诸如字符串形式的选项值。ecu通过该属性信息完成对车辆各部件的配置和控制功能。由于在汽车电子领域一般不存在其它类似的xml格式数据源文件,因此autosar标准数据源文件与普通的xml格式数据源文件中的数据项和对应的属性信息的含义不相同,一般无法使用xml格式数据源文件的数据解析分析和转换方法。

根据本发明的实施例,可以将autosar标准数据源文件中的数据项分别设定为关键数据项和非关键数据项。关键数据项指示在标准数据源文件中对车辆的功能存在影响的数据项,非关键数据项为对车辆功能的影响较小的数据项或者是包含对关键数据项的解释和描述性信息的数据项。在对标准数据源文件进行解析过程中,用户可以不处理非关键数据项以简化解析过程。

关键数据项由汽车整车制造商、零部件供应商或autosar标准数据源文件的开发者设定的分析规则进行配置和选择。在autosar标准数据源文件的配置过程中,也可以对关键数据项进行修改和调整。应当理解的是,不同的汽车整车制造商、零部件供应商或autosar标准数据源文件的开发者的分析规则不一定相同,因此autosar标准数据源文件中的同一数据项在不同分析规则下可以在关键数据项和非关键数据项之间变化。

图1中示出根据本发明的实施例的autosar标准数据源文件的关键数据项的结构。autosar标准数据源文件100从宏观上主要包括如下的关键数据项:报文/数据帧(frame)数据项101,协议数据单元(protocoldataunit,简称为pdu)数据项102,信号数据项103。autosar标准数据源文件还可以包括其它关键数据项,例如传输模式(transmissionmode)数据项等。根据其它实施例,也可以选择上述关键数据项的不同组合,以及选择不同于作为示例的这些关键数据项。关键数据项的选择依据汽车整车制造商、零部件供应商或autosar标准数据源文件的开发者的分析规则而定。

每个autosar标准数据源文件100包括至少一个frame数据项101。报文/数据帧frame作为在autosar标准数据源文件100所定义的ecu与车辆部件之间进行数据交互的基本信息单元,在标准数据源文件100中,frame数据项101具有最高层级。

frame数据项101包括一个pdu数据项102,即二者之间是一对一(1-1)的对应关系。在不同的通信协议报文/数据帧frame下,pdu的意义不同。例如,在can总线下的pdu是can总线中使用的报文/数据帧frame格式所采用的协议数据单元pdu的格式。pdu数据项102是frame数据项101的下一层级的关键数据项。

pdu数据项102包括至少一个信号数据项103,即二者之间是一对多(1-n,其中n为自然数)的关系。信号数据项103指示在pdu数据项102中所采用的信号及其配置参数。信号数据项103是pdu数据项102的下一层级的关键数据项。信号数据项103可以包括至少一个信号组1031和/或信号1032。

信号组1031由至少一个关联性强的信号组成,指示这些信号在配置过程中共同完成相同或相关的功能。关联性不强的信号则以信号1032的形式单独布置。根据信号之间的关联性,信号数据项103中可以既包括信号组1031又包括信号1032,可以仅包括信号组1031,也可以仅包括信号1032。当存在信号组1031时,可以将信号组1031中的信号视为信号数据项103的下一层级的关键数据项。

传输模式数据项包括事件(event)数据项和周期(period)数据项。周期类型传输模式的信号以周期传输(例如,周期为100ms,周期的允许偏移值(offset)为10ms),其传输属性(transferproperty)一般为等待(pending)等。事件类型传输模式的信号通过设置事件(例如以周期10ms循环检测,进一步,循环次数为5次)的触发源并当满足触发源的触发条件时触发传输,其传输属性一般为触发(triggered)或未触发等。

图2示出根据本发明的实施例的用于分析autosar标准数据源文件的方法的流程图,该方法包括如下步骤:

s100:建立多层级数据项模型;

s200:基于关键数据项分别在第一标准数据源文件和第二标准数据源文件中获取与关键数据项对应的第一属性信息和第二属性信息;

s300:将第一与第二属性信息进行比较以获取第一和第二标准数据源文件之间的变化;以及

s400:结束。

在分析autosar标准数据源文件前,已经获取先前版本的autosar标准数据源文件(下文中称为第一标准数据源文件)和当前版本的autosar标准数据源文件(下文中称为第二标准数据源文件)。分析方法用于精准地对比分析出不同版本的autosar标准数据源文件之间的差异,方便用户查看版本变更以及查看数据源文件的信息是否正确。

在步骤s100中,基于分析规则建立诸如图1中所示的根据本发明的实施例的autosar标准数据源文件的关键数据项的结构的多层级数据项模型。属于不同层级的关键数据项在第一和第二标准数据源文件中选择。如图1所示的关键数据项的结构,在步骤s100中生成的模型包括四个层级。frame数据项101为第一层级,pdu数据项102为第二层级,信号数据项103(包括信号组1031和信号1032)为第三层级,信号组1031所包括的信号为第四层级。第一层级frame数据项101作为最上层级的关键数据项,包括数据项属性和下一层级的关键数据项pdu数据项102,但是没有上一层级的关键数据项。作为最低层级的第四层级的信号包括数据项属性而没有下一层级的关键数据项,但是具有上一层级的关键数据项信号组1031。对于其它层级的关键数据项,则包括数据项属性和下一层级的关键数据项,同时也具有上一层级的关键数据项。

在步骤s200中,基于关键数据项分别在第一标准数据源文件和第二标准数据源文件中获取与该关键数据项对应的第一属性信息和第二属性信息。根据一个实施例,步骤s200包括如下几个子步骤:

在子步骤s210中,分别在第一和第二标准数据源文件中查找与关键数据项匹配的数据项。分析方法首先根据最高层级的关键字数据项的名称,即frame数据项的名称“frame”查找匹配的数据项。根据另一实施例,也可以根据frame数据项所对应的数据项id在标准数据源文件中查找对应的frame数据项。如果没有查找到任何与frame数据项匹配的数据项(子步骤s220中的“否”),则认为在标准数据源文件中不存在模型中的关键数据项,此时过程出现错误,方法直接跳转到步骤s400结束分析过程并进行相应的错误处理。

如果子步骤s220的判定结果为“是”,指示在标准数据源文件中存在frame数据项。方法继续执行步骤子s230,对每个frame数据项,分别从第一和第二标准数据源文件中提取所有的frame数据项的信息(例如以列表的形式),获取与当前的frame数据项匹配的数据项所包含的数据项属性并且将数据项属性存储到第一和第二属性信息中。例如,对于frame数据项,子步骤s230中根据frame数据项的名称“frame”,查找frame数据项的数据项属性,诸如数据项id,寻址方式addressing,数据项长度(frame报文定义的数据长度datalength,简称为dl)length等。然后,获取这些数据项属性的值,诸如数据项id的值“0x100”,快速can(汽车高速can总线通信协议,简称为can_fd,与普通速度can总线通信协议对应)的值“yes”等,并且将这些数据项属性记录在第一和第二属性信息中。第一和第二属性信息分别对应于第一和第二标准数据源文件中所存储的与关键数据项有关的数据项属性信息。

然后,方法执行子步骤s240,判断是否已经获取与所有关键数据项匹配的数据项所包含的数据项属性并且将数据项属性存储到第一和第二属性信息中。如果判定结果为“是”,则已经遍历查找和完成所有关键数据项的对应数据项属性,方法跳转到步骤s300,通过将第一与第二属性信息进行比较以获取第一和第二标准数据源文件之间的变化。如果判定结果为“否”,则说明还存在没有被查找到的其它关键数据项,方法继续执行子步骤s250。

子步骤s250继续判断当前关键数据项是否包括属于当前关键数据项所属层级的下一层级关键数据项。如果判断结果为“是”,则需要继续查找当前关键数据项所属层级的下一层级的所有关键数据项。例如,发现frame数据项包括第二层级的pdu数据项,继续查找并提取当前frame数据项所包含的所有pdu数据项的信息或信息列表。此时方法执行子步骤s260,将该下一层级的关键数据项作为当前关键数据项并返回到子步骤s210,重新分别在第一和第二标准数据源文件中查找与当前关键数据项,即每个pdu数据项匹配的数据项。例如,基于pdu数据项的名称“pdu”在标准数据源文件中查找frame数据项所包含的所有pdu数据项匹配的pdu数据项并获取这些匹配的pdu数据项的信息或信息列表,获取与匹配的pdu数据项所包含的数据项属性,诸如最小延迟时间(minimumdelaytime),字节顺序(byteorder,在汽车电子领域中一般分为motorola和intel两种类型)等,并且将这些数据项属性的值,诸如最小延迟时间的值“0.1s”存储到第一和第二属性信息中。

上述查找下一层级的关键数据项的过程可以重复执行,在查找pdu数据项的下一层级的信号数据项时,对当前pdu数据项查找并提取其所包含的所有的信号数据项的信息或信息列表,并对每个信号数据项,执行子步骤s230。针对信号组signalgroup形式的信号数据项,再次查找其包含的下一层级的所有信号signal项的信息或信息列表并对每个信号signal项执行子步骤s230。

如果子步骤s250的判断结果为“否”,则指示当前关键数据项为最低层级的关键数据项,方法继续执行子步骤s270,判断当前关键数据项是否具有属上一层级关键数据项。如果子步骤s270的结果为“是”,表示当前关键数据项不是最高层级的关键数据项,方法继续执行子步骤s280,将当前关键数据项所属层级的上一层级关键数据项作为新的当前关键数据项。例如,关键数据项signal_1不包括任何下一层级的关键数据项,此时仅能获取signal_1项的数据项属性,诸如字节顺序,传输属性(transferproperty)等,并将这些数据项属性的值,诸如字节顺序的值“motorola”和传输属性的值“triggered”记录在第一和第二属性信息中。对于pdu数据项包括的信号数据项中的信号signal_3,其属于最低层级的关键数据项,仅能获取其数据项属性,并且将其数据项属性的值(诸如传输属性的值“pending”)记录在第一和第二属性信息中。

如果子步骤s270的结果为“否”,则表示当前关键数据项已经是最高层级的关键数据项,方法返回到子步骤s240判断是否已经获取与所有关键数据项匹配的数据项所包含的数据项属性并且将数据项属性存储到第一和第二属性信息中。例如,pdu数据项包括一个信号组signalgroup_1和信号signal_3,而信号组signalgroup_1包括两个信号signal_1和signal_2,则方法在pdu数据项的查询之后,可以依次查询关键数据项signalgroup_1和同层级的signal_3,然后查询signalgroup_1的下一层级signal_1和signal_2,完成pdu数据项下所有低层级的关键数据项的查询和对应的数据项属性的获取。然后,方法可以返回到pdu数据项所在的层级,继续查找与pdu数据项同一层级的其它pdu数据项及其低层级的关键数据项。最后,方法返回到最高层级frame数据项,并查询与frame数据项统一层级的其它frame数据项及其低层级的关键数据项。

在子步骤s280之后,方法继续执行子步骤s290以判断是否已经获取与当前关键数据项匹配的数据项所包含的数据项属性并且将数据项属性存储到第一和第二属性信息中。如果判定结果为“是”,表示当前的关键数据项已经被查找过,方法返回子步骤s240。如果判定结果为“否”,表示当前的关键数据项还包括没有被查找到的属于同一层级的其它关键数据项,方法返回到子步骤s210继续分别在第一和第二标准数据源文件中查找与关键数据项匹配的数据项。

当子步骤s240的判定结果为“是”时,表示所生成的多层级数据项模型中的所有关键数据项都被查找过并且与其对应的数据项属性都被存储在第一和第二属性信息中,步骤s200完成。根据本发明的一个实施例,可以将步骤s200的遍历查找结果,即第一和第二属性信息以如图3所示的示例性结构输出,或存储在文档中。

应当注意的是,上文中所描述的关键数据项的遍历查找方式是示例性的,还可以采用其它方式对关键数据项进行查找。

例如,根据本发明的一个实施例,对图3所示的属性信息的示例性结构对应的多层级数据项模型中的关键数据项,可以从标准数据源文件中查找并提取所有的frame数据项的信息或信息列表并对每个frame数据项,分别在第一和第二标准数据源文件中获取与当前frame数据项匹配的数据项所包含的数据项属性并且将数据项属性存储到第一和第二属性信息中。在查找frame数据项的下一层级的pdu数据项时,对所有frame数据项查找并提取所有的pdu数据项的信息或信息列表,并且对每个pdu数据项,重复执行子步骤s230中所示的数据项属性的获取与存储功能。这种方式按照层级次序查找,同时查找处于同一层级的所有关键数据项,而不是仅查找属于相同的上一层级的关键数据项的下一层级关键数据项。类似的,在查找pdu数据项的下一层级的信号数据项时,查找并提取所有的信号数据项的信息或信息列表,并对每个信号数据项,执行子步骤s230。针对信号组signalgroup形式的信号数据项,再次查找其下一层级的所有信号signal项的信息或信息列表并对每个信号signal项执行子步骤s230。上述过程直至达到所有最低层级的关键数据项被查找并将对应的数据项属性存储到属性信息中为止。例如,如图3所示的示例性结构中,先查找所有frame数据项,再查找下一层级的所有pdu数据项。根据一个实施例,pdu数据项还包括传输模式数据项transmissionmode,则在pdu数据项之后,查找更下一层级的传输模式数据项、信号数据项signalgroup_1和signal_3,分别将它们的数据项属性提取并存储在属性信息中,而不是先查找传输模式数据项以及其包括的下一层级的事件数据项和周期数据项然后返回到信号数据项查找signalgroup_1和signal_3。

根据另一个实施例,还可以采用先从最高层级依次查找下一层级关键数据项至最底层关键数据项,再递归返回到上一层级关键数据项查找的方式。例如,在图3所示的示例结构中从frame数据项依次经由pdu数据项、传输模式数据项查找到事件数据项,然后再返回到传输模式数据项查找周期数据项。之后返回到信号组signalgroup_1项查找signal_1项,依次类推。

本领域技术人员将理解,本发明的关键数据项分析方法的步骤s200还可以使用其它遍历查找方式执行。

在步骤s200之后,方法继续执行步骤s300,将第一与第二属性信息进行比较以获取第一和第二标准数据源文件之间的变化,方便用户查看两个版本的标准数据源文件之间的变更点。比较结果例如可以用图4所示的表格形式呈现,其中突出显示pdu数据项的数据项属性之一,即最小延迟时间(minimumdelaytime)从0.1s变更到0.2s。应当理解,对标准数据源文件之间的变化,还可以根据实际情况和要求采用不同于数据变化的比较结果,以及其变化之外的其它方式输出,例如曲线、统计、图表等。

在两个标准数据源文件之间的比较分析中,如果在一个源文件中存在某一关键数据项,而另一源文件中不存在该关键数据项,也可以表示该关键数据项在新版本的标准数据源文件中被删除或添加。

进一步,可以根据变化的关键数据项所对应的功能(例如通过其定义或描述信息)提示用户该变化可能产生的影响,以使用户采取应对方案。

下面将参照图5详细描述根据本发明的实施例的用于转换autosar标准数据源文件和非autosar标准数据源文件的方法。图5中所述的转换方法与图2中的分析方法类似的步骤,将不再赘述。在示例中,非autosar标准数据源文件为excel格式数据源文件,但是本发明的非标准数据源文件不限于excel格式,其它能够读取和查询数据的格式都可以作为非标准数据源文件,包括但不限于word格式、通用xml格式、文本格式等。

根据本发明的实施例的转换方法包括步骤:

s500:建立多层级数据项模型;

s600:基于关键数据项在非标准数据源文件中获取与关键数据项对应的属性信息;

s700:基于属性信息生成多层级数据项模型与非标准数据源文件之间的映射关系;以及

s800:基于映射关系将非标准数据源文件转换为标准数据源文件,或者将标准数据源文件转换为非标准数据源文件;

s900:结束。

在步骤s500中,基于分析规则建立诸如图3中所示的标准数据源文件的关键数据项的结构的多层级数据项模型。图3中的多层级数据项模型也可以采用图6所示的结构表示,其中frame数据项为第一层级,pdu数据项为第二层级,传输模式(transmissionmode)数据项和信号数据项(包括信号组signalgroup和单独的signal)为第三层级,事件(event)数据项、周期(period)数据项和信号组包括的signal为第四层级。属于不同层级的关键数据项在标准数据源文件中选择。在步骤s500中生成的模型包括frame数据项101,pdu数据项102,信号数据项103(包括信号组1031和信号1032)和信号组1031所包括的信号的四个层级。每个层级数据项的特性参见上文。

在步骤s600中,基于关键数据项在非标准数据源文件中获取与关键数据项对应的属性信息。根据一个实施例,步骤s600包括如下几个子步骤:

在子步骤s610中,在非标准数据源文件中查找与关键数据项匹配的数据项。与分析方法类似,转换方法首先根据最高层级的关键字数据项的名称,即frame数据项的名称“frame”或对应的数据项id查找匹配的数据项。如果没有查找到任何与frame数据项匹配的数据项(子步骤s620中的“否”),则认为在非标准数据源文件中不存在模型中的关键数据项,此时方法出现错误,直接跳转到步骤s900结束转换过程并进行相应的错误处理。

如果子步骤s620的判定结果为“是”,指示在非标准数据源文件中存在frame数据项。方法继续执行步骤子s630,对每个frame数据项,从非标准数据源文件中提取所有的frame数据项的信息(例如以列表的形式),获取与当前的frame数据项匹配的数据项所包含的数据项属性并且将数据项属性存储到属性信息中。

然后方法执行子步骤s640,判断是否已经获取与所有关键数据项匹配的数据项所包含的数据项属性并且将数据项属性存储到属性信息中。如果判定结果为“是”,则已经遍历查找和完成所有关键数据项的对应数据项属性,过程跳转到步骤s700,基于属性信息生成多层级数据项模型与非标准数据源文件之间的映射关系,该映射关系将在下文中描述。如果判定结果为“否”,则说明还存在没有被查找到的其它关键数据项,方法继续执行子步骤s650。

子步骤s650继续判断当前关键数据项是否包括属于当前关键数据项所属层级的下一层级关键数据项。如果判断结果为“是”,则需要继续查找当前关键数据项所属层级的下一层级的所有关键数据项。例如,发现frame数据项包括第二层级的pdu数据项,继续查找并提取当前frame数据项所包含的所有pdu数据项的信息或信息列表。此时方法执行子步骤s660,将该下一层级的关键数据项作为当前关键数据项并返回到子步骤s610,重新在非标准数据源文件中查找与当前关键数据项,即每个pdu数据项匹配的数据项。

上述查找下一层级的关键数据项的过程可以重复执行,在查找pdu数据项的下一层级的信号数据项时,对当前pdu数据项查找并提取其所包含的所有的信号数据项的信息或信息列表,并对每个信号数据项,执行子步骤s630。针对信号组signalgroup形式的信号数据项,再次查找其包含的下一层级的所有信号signal项的信息或信息列表并对每个信号signal项执行子步骤s630。

如果子步骤s650的判断结果为“否”,则表示当前关键数据项为最低层级的关键数据项,方法继续执行子步骤s670,判断当前关键数据项是否具有属上一层级关键数据项。如果子步骤s670的结果为“是”,表示当前关键数据项不是最高层级的关键数据项,方法继续执行子步骤s680,将当前关键数据项所属层级的上一层级关键数据项作为新的当前关键数据项。

如果子步骤s670的结果为“否”,则表示当前关键数据项已经是最高层级的关键数据项,方法返回到子步骤s640判断是否已经获取与所有关键数据项匹配的数据项所包含的数据项属性并且将数据项属性存储到属性信息中。最后,方法返回到最高层级frame数据项,并查询与frame数据项统一层级的其它frame数据项及其低层级的关键数据项。

在子步骤s680之后,方法继续执行子步骤s690以判断是否已经获取与当前关键数据项匹配的数据项所包含的数据项属性并且将数据项属性存储到属性信息中。如果判定结果为“是”,表示当前的关键数据项已经被查找过,方法返回子步骤s640。如果判定结果为“否”,表示当前的关键数据项还包括没有被查找到的属于同一层级的其它关键数据项,方法返回到子步骤s610继续在非标准数据源文件中查找与关键数据项匹配的数据项。

当子步骤s640的判定结果为“是”时,表示所生成的多层级数据项模型中的所有关键数据项都被查找过并且与其对应的数据项属性都被存储在属性信息中,步骤s600完成。根据本发明的一个实施例,可以将步骤s600的遍历查找结果,即属性信息同样以如图3所示的示例性结构输出,或存储在诸如word格式等的文档中。

在转换方法中可以采用与分析方法中类似的关键数据项的遍历查找方式。

在步骤s600之后,方法继续执行步骤s700,基于属性信息生成多层级数据项模型与非标准数据源文件之间的映射关系。该映射关系可以是模型中的关键数据项与excel格式数据源文件之间的数据对列表,也可以是从模型到非标准数据源文件之间的向量表或矩阵。通过将excel格式非标准数据源文件中的相应数据项和与autosar标准对应的数据项模型的关键数据项和数据项属性的数据结构进行对应,生成非标准数据源文件与标准数据源文件之间的映射。该映射关系例如可以存储在同样用于表征映射关系的哈希图(hashmap)中,也可以采用其它形式存储或记录。

当所有的关键数据项都完成映射后,例如可以通过将映射关系存储入模型的方式,在步骤s800中将非标准数据源文件转换为autosar标准数据源文件。在本发明的其它实施例中,可以将autosar标准数据源文件基于映射关系转换为非标准数据源文件,也可以使用其它方式基于映射关系完成非标准数据源文件与标准数据源文件之间的转换。

根据本发明的实施例,还提出了一种用于分析autosar标准数据源文件的系统700,如图7所示。系统700包括建模单元710,获取单元720和比较单元730。

建模单元710用于执行如图3所示的分析方法的步骤s100,建立多层级数据项模型,多层级数据项模型包括属于不同层级的关键数据项,关键数据项存储在第一标准数据源文件和第二标准数据源文件中。

获取单元720用于执行如图3中步骤s200,基于关键数据项分别在第一标准数据源文件和第二标准数据源文件中获取与关键数据项对应的第一属性信息和第二属性信息。

进一步,获取单元720还包括分别用于执行图3中步骤s200的子步骤s210至s290的子单元,以分别在第一标准数据源文件和第二标准数据源文件中查找和获取与关键数据项对应的数据项属性。其中,各个子单元用于分别在第一标准数据源文件和第二标准数据源文件中查找与关键数据项匹配的数据项,以及分别在第一标准数据源文件和第二标准数据源文件中获取与关键数据项匹配的数据项所包含的数据项属性并且将数据项属性存储到第一属性信息和第二属性信息中。当关键数据项包括属于关键数据项所属层级的下一层级的关键数据项时,子单元分别在第一标准数据源文件和第二标准数据源文件中查找和获取与属于下一层级的关键数据项对应的数据项属性。获取单元720可以在第一标准数据源文件和第二标准数据源文件中遍历地查找和获取与关键数据项对应的数据项属性。

比较单元730用于执行如图3中的步骤s300,将第一属性信息与第二属性信息进行比较以获取第一标准数据源文件和第二标准数据源文件之间的变化。

另外,系统700还可以包括提示单元740(如图7中虚线所示),用于基于第一标准数据源文件和第二标准数据源文件之间的变化,提示变化的影响。

图8则示出根据本发明的实施例的转换autosar标准数据源文件和非autosar标准数据源文件的系统800。系统800包括建模单元810,获取单元820,映射单元830和转换单元840。

建模单元810用于执行如图5所示的转换方法的步骤s500,建立多层级数据项模型,多层级数据项模型包括属于不同层级的关键数据项,关键数据项存储在标准数据源文件和非标准数据源文件中。

获取单元820用于执行如图5中步骤s600,基于关键数据项在非标准数据源文件中获取与关键数据项对应的属性信息。

进一步,获取单元820还包括分别用于执行图5中步骤s600的子步骤s610至s690的子单元,以分别在非标准数据源文件中查找与获取与关键数据项对应的数据项属性。其中,各个子单元用于分别在非标准数据源文件中查找与关键数据项匹配的数据项,以及在非标准数据源文件中获取与关键数据项匹配的数据项所包含的数据项属性并且将数据项属性存储到属性信息中。当关键数据项包括属于关键数据项所属层级的下一层级的关键数据项时,在非标准数据源文件中查找和获取与属于下一层级的关键数据项对应的数据项属性。获取单元820可以在非标准数据源文件中遍历地查找和获取与所有的关键数据项对应的数据项属性。

映射单元830用于执行如图6中的步骤s700,基于属性信息生成多层级数据项模型与非标准数据源文件之间的映射关系。

转换单元840用于基于映射关系将非标准数据源文件转换为标准数据源文件,或者将标准数据源文件转换为非标准数据源文件。

根据本发明的实施例上述分析和转换方法、系统可以特别应用于autosar标准数据源文件。

应当注意,尽管在上文详细描述中提及了用于分析和转换标准数据源文件的系统的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。作为模块或单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

在本发明的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序包括可执行指令,该可执行指令被例如处理器执行时可以实现上述任意一个实施例中所述用于分析或转换标准数据源文件的方法的步骤。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书用于分析或转换标准数据源文件的方法中描述的根据本发明各种示例性实施例的步骤。

在本发明的示例性实施例中,还提供一种电子设备,该电子设备可以包括处理器,以及用于存储所述处理器的可执行指令的存储器。其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一个实施例中的用于分析或转换标准数据源文件的方法的步骤。

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

通过使用上文中提出的方法、系统和存储介质,能够通过快速和精确地对比不同版本的标准数据源文件之间的差异,使用户精确分辨数据更改位置和内容,方便用户查看版本变更,以及查看数据源文件是否正确以避免重要信息遗失;在需要对非标准数据源文件与标准数据源文件进行相互转化时,提高了采用相对简单的非标准数据源文件配置和生成标准数据源文件过程的效率和准确度,使配置更容易,在降低成本的同时提高标准数据源文件的准确性。

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

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