System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于someip协议栈自动构建soa服务业务开发框架的方法技术_技高网

一种基于someip协议栈自动构建soa服务业务开发框架的方法技术

技术编号:41254887 阅读:27 留言:0更新日期:2024-05-11 09:15
本申请提供了一种基于someip协议栈自动构建soa服务业务开发框架的方法,包括以下步骤:S1、确定框架的功能需求,设计框架的整体架构,明确模块之间的交互关系;S2、实现Parse模块,并构建内部表示来表示SomeIP协议栈中的核心概念;S3、设计和实现Transform模块,将Parse模块解析得到的信号内容转换为框架内部能够使用的数据结构;S4、根据框架的需求,生成用于信号处理的生产代码;所述方法通过使用Parse模块解析SomeIP协议栈,然后通过Transform模块将信息转换为内部数据结构,该方法在生成代码之前提供了灵活性;CodeGenerator模块的存在使得可以根据框架的需求生成定制的信号处理、服务端和客户端代码;灵活性有助于满足不同业务场景和需求的要求。

【技术实现步骤摘要】

本申请涉及图像处理领域,具体而言,涉及一种基于someip协议栈自动构建soa服务业务开发框架的方法


技术介绍

1、在车联网业务开发场景中,利用someip协议的进行通信,是根据定义好的信号内容进行内容转发,信号内容包括:服务名称、服务id、版本号、接口名称(信号)、接口类型、接口id、协议、入参列表、返回值、数据类型等内容。当前基于someip协议进行android hal层信号转发业务开发的时候,在某些厂商开发的ap/cp框架基础上,还需要进行服务注册、注销、信号接口定义、原始数据和转发数据的拷贝、回调注册等一些代码的编写;用c++编码就需要开发服务类、管理类、代理类的接口描述头文件和具体实现文件。在实际场景中,不同信号的定义方式是固定的,故具体产出的c++代码也是相似的,因此需要一种用工程化的方式,自动生成相关的业务开发框架代码,在提高业务开发效率的同时,提高编码的正确性

2、因此,本申请提供了一种基于someip协议栈自动构建soa服务业务开发框架的方法,以解决上述技术问题之一。


技术实现思路

1、本申请的目的在于提供一种基于someip协议栈自动构建soa服务业务开发框架的方法,能够解决上述提到的至少一个技术问题。具体方案如下:

2、根据本申请的具体实施方式,第一方面,本申请提供一种基于someip协议栈自动构建soa服务业务开发框架的方法,包括以下步骤:

3、s1、确定框架的功能需求,设计框架的整体架构,明确模块之间的交互关系;p>

4、s2、实现parse模块,并构建内部表示来表示someip协议栈中的核心概念;

5、s3、设计和实现transform模块,将parse模块解析得到的信号内容转换为框架内部能够使用的数据结构;

6、s4、根据框架的需求,生成用于信号处理的生产代码;

7、s5、开发codegenerator模块,基于框架内部的数据结构生成服务端和客户端的代码;

8、s6、实现filewriter模块,确定生成代码的输出路径和文件名,将生成的代码写入适当的文件;

9、s7、将parse、transform、codegenerator、filewriter模块集成到框架中,建立模块间的通信机制,确保数据能够正确地流通和传递;

10、s8、编写单元测试和集成测试用例,对每个模块进行测试,并进行端到端的系统测试,确保整个框架的功能正常运作。

11、作为优选,步骤s1中框架的功能需求包括支持的someip协议栈版本、服务注册与发现和消息处理。

12、作为优选,步骤s2中核心概念包括someip协议栈中的服务、消息和数据结构。

13、作为优选,步骤s2中parse模块用来解析输入文件,将文件内容解析到内存中,供后续操作使用,parse模块解析的步骤为:

14、s21、parse模块读取输入文件;

15、s22、读取输入文件后,parse模块将文件内容存储在内存中;

16、s23、如果输入文件是json类型,parse模块对内存中的数据进行解析;

17、s24、如果输入文件是xml类型,parse模块对内存中的数据进行解析;

18、s25、parse模块将解析得到的java对象保存到java内存中;

19、s26、parse模块输出一个java对象。

20、作为优选,步骤s3中transform模块用于将信号内容转换成对应可读内容,转换步骤为:

21、s31、获取parse模块解析结果;

22、s32、将结果输送给transform对其进行转换;

23、s33、去掉设定前缀;

24、s34、去掉设定后缀;

25、s35、判断是否是正常可读内容;

26、s36、如果是正常可读内容,完成transform转换;

27、如不是正常可读内容,对其进行再次transform转换;

28、若转换成功,直接完成transform转换;

29、若转换不成功,抛出一个自定义异常后完成transform转换,根据异常完善transform供下次转换使用。

30、作为优选,所述信号内容包括信号名、信号类型、信号数据类型、数据字段以及服务名,所述对应的可读内容为c++、aidl和java语言。

31、作为优选,步骤s4中信号生产代码的步骤为:

32、s41、将数据信号进行定义;

33、s42、将定义后的信号生成java和c++可读类

34、s43、通过transform将定义后的信号和处理逻辑生成对应的代码;

35、s44、通过codegenerator根据s42中生成的java和c++可读类以及transform步骤中的转换逻辑来生成对应的代码;

36、s45、根据生成的java和c++可读类以及transform步骤中的转换逻辑来生成对应的代码。

37、作为优选,步骤s5中codegenerator模块将信号定义服务、类型、及transform解析后内容进行组合,生成可行性的程序代码,其生成代码的步骤为:

38、s51、数据解析和准备,解析和处理信号定义,确定生成代码中与事件相关的逻辑,处理服务定义和数据类型,确保在生成代码中正确地映射和使用上述数据类型,执行transform解析,将输入的规范进行转换,以便后续代码生成能够利用上述转换后的数据;

39、s52、将信号定义、服务定义、数据类型和transform解析后的内容组合成一个整体的信息集,根据组合的信息,生成代码的框架结构,根据信号定义和服务定义,为生成的框架添加逻辑实现,将生成的框架代码转化为可执行的程序代码。

40、作为优选,步骤s6中filewriter模块用于处理生成的代码内容并输入到文件中,生成可执行程序的源代码文件。

41、作为优选,所述生成可执行程序的源代码文件的具体步骤为:

42、s61:代码内容处理、从codegenerator模块获得生成的可执行程序的源代码内容,对生成的代码内容进行处理,确定要创建的源代码文件的名称和路径;

43、s62:文件写入、使用filewriter模块打开文件以进行写入操作,将处理过的生成代码内容写入文件。

44、本申请实施例的上述方案与现有技术相比,至少具有以下有益效果:

45、通过划分功能需求并设计模块,该方法支持框架的模块化设计,使每个功能单元相对独立,易于理解和维护;明确的模块之间的交互关系有助于降低系统的复杂度,提高了框架的可扩展性;新的功能可以通过添加新的模块或修改现有模块来实现,而无需对整个框架进行大规模的改动;

46、通过使用parse模块解析someip协本文档来自技高网...

【技术保护点】

1.一种基于someip协议栈自动构建soa服务业务开发框架的方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的方法,其特征在于,步骤S1中框架的功能需求包括支持的SomeIP协议栈版本、服务注册与发现和消息处理。

3.根据权利要求1所述的方法,其特征在于,步骤S2中核心概念包括SomeIP协议栈中的服务、消息和数据结构。

4.根据权利要求1所述的方法,其特征在于,步骤S2中Parse模块用来解析输入文件,将文件内容解析到内存中,供后续操作使用,Parse模块解析的步骤为:

5.根据权利要求1所述的方法,其特征在于,步骤S3中Transform模块用于将信号内容转换成对应可读内容,转换步骤为:

6.根据权利要求5所述的方法,其特征在于,所述信号内容包括信号名、信号类型、信号数据类型、数据字段以及服务名,所述对应的可读内容为C++、AIDL和JAVA语言。

7.根据权利要求1所述的方法,其特征在于,步骤S4中信号生产代码的步骤为:

8.根据权利要求1所述的方法,其特征在于,步骤S5中CodeGenerator模块将信号定义服务、类型、及Transform解析后内容进行组合,生成可行性的程序代码,其生成代码的步骤为:

9.根据权利要求1所述的方法,其特征在于,步骤S6中FileWriter模块用于处理生成的代码内容并输入到文件中,生成可执行程序的源代码文件。

10.根据权利要求9所述的方法,其特征在于,所述生成可执行程序的源代码文件的具体步骤为:

...

【技术特征摘要】

1.一种基于someip协议栈自动构建soa服务业务开发框架的方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的方法,其特征在于,步骤s1中框架的功能需求包括支持的someip协议栈版本、服务注册与发现和消息处理。

3.根据权利要求1所述的方法,其特征在于,步骤s2中核心概念包括someip协议栈中的服务、消息和数据结构。

4.根据权利要求1所述的方法,其特征在于,步骤s2中parse模块用来解析输入文件,将文件内容解析到内存中,供后续操作使用,parse模块解析的步骤为:

5.根据权利要求1所述的方法,其特征在于,步骤s3中transform模块用于将信号内容转换成对应可读内容,转换步骤为:

6.根据权利要求5所...

【专利技术属性】
技术研发人员:王从涛
申请(专利权)人:中国第一汽车股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1