CN117290365A - 通讯协议管理方法、装置及计算机可读存储介质 - Google Patents
通讯协议管理方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN117290365A CN117290365A CN202310976876.9A CN202310976876A CN117290365A CN 117290365 A CN117290365 A CN 117290365A CN 202310976876 A CN202310976876 A CN 202310976876A CN 117290365 A CN117290365 A CN 117290365A
- Authority
- CN
- China
- Prior art keywords
- item
- library
- communication protocol
- project
- module
- 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.)
- Pending
Links
- 238000004891 communication Methods 0.000 title claims abstract description 105
- 238000007726 management method Methods 0.000 title claims abstract description 73
- 238000000034 method Methods 0.000 claims abstract description 45
- 238000012545 processing Methods 0.000 claims abstract description 29
- 230000008859 change Effects 0.000 claims abstract description 19
- 238000012986 modification Methods 0.000 claims description 24
- 230000004048 modification Effects 0.000 claims description 24
- 238000007792 addition Methods 0.000 claims description 17
- 238000012217 deletion Methods 0.000 claims description 8
- 230000037430 deletion Effects 0.000 claims description 8
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000012827 research and development Methods 0.000 abstract description 6
- 230000008569 process Effects 0.000 description 12
- 238000013461 design Methods 0.000 description 11
- 230000009191 jumping Effects 0.000 description 7
- 238000012795 verification Methods 0.000 description 7
- 230000009471 action Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004801 process automation Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
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/23—Updating
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例涉及汽车电子技术领域,具体涉及通讯协议管理方法、装置及计算机可读存储介质,该方法通过接收新增项目或指定项目的指令,对通讯协议库进行新增、继承、查询、变更等操作,生成项目表单库;实现了对通讯协议的便捷性管理;同时,本方案还加入对项目表单库的判定处理,通过判定处理增加通讯协议管理的可靠性和安全性。使通信协议平台化设计,新增项目的通讯协议进行增加、删除、修改,显著的提高了研发的效率、且提高了通讯协议库的复用率和便捷性。
Description
技术领域
本发明实施例涉及汽车电子技术领域,具体涉及通讯协议管理方法、装置及计算机可读存储介质。
背景技术
在车载电子领域,通信是重中之重。其中,通信协议的管理便是通信里面的行业痛点。在不同项目,不同的车型和设备可能使用不同的通信协议,这些协议的管理和维护工作量大。如何便捷和高效的维护通信协议就显得极其重要。同时手动编写代码也容易出错,或者通信双方或者多方使用协议代码不一致导致出错,效率低下。
在现有方案中,主要通过文档化管理通信协议等方式,无法做到全程自动化:表现在没有把通讯协议步骤串联起来,文档化管理中各模块步骤功能单一且独立,无法实现全程自动化操作。且不同项目或者不同的芯片方案不同复用,只能使用特定的格式的文件来生成代码,不够灵活。同时,定制化的通讯协议的成本高:需花费巨大费用找软件工具厂商定制,且使用专用的工具则需要学习工具的具体使用方法,学习成本高。
发明内容
鉴于上述问题,本发明实施例提供了通讯协议管理方法、装置及计算机可读存储介质,用于解决现有的文档化管理中各模块步骤功能单一且独立,无法实现全程自动化操作问题。
根据本发明实施例的一个方面,提供了通讯协议管理方法,所述方法包括:
一种通讯协议管理方法,其特征在于,所述方法包括:
确定选择新增项目或者预存于通讯协议库的指定项目;
根据所述新增项目或者指定项目,对所述通讯协议库进行处理,生成项目表单库;
对所述项目表单库进行判定处理,并确定所述项目表单库是否通过判定,若通过则对所述项目表单库进行编码处理,否则对所述项目表单库进行修改操作。
在一种可选的方式中,所述根据所述新增项目或者指定项目,对所述通讯协议库进行处理,生成项目表单库,包括:
若选择所述新增项目,则确定所述新增项目是否继承所述通讯协议库的目标项目,若是则对所述新增项目进行修改操作,否则对所述新增项目进行新增操作,通过修改操作或新增操作生成项目表单库;
若选择所述指定项目,则执行对所述指定项目进行查询操作或变更操作,通过查询操作或变更操作生成项目表单库。
在一种可选的方式中,所述对新增项目进行修改操作,包括:
将所述目标项目的目标表单库填充到所述项目表单库中。
在一种可选的方式中,在将所述目标项目的目标表单库填充到所述项目表单库中之后,所述还包括:
对所述项目表单库的任一个或多个表单进行包括新增、修改、删除中任一项或多项处理。
在一种可选的方式中,所述对新增项目进行新增操作,包括:
新增模块表单;
新增事件表单;
新增数据结构表单或者枚举表单,并新增所述数据结构内容表单或者枚举内容表单;
判断所述数据结构表单或者枚举表单是否完成,若是则数据结构表单或者枚举表单完成,否则继续新增所述数据结构内容表单或者枚举内容表单;
判断所述事件表单是否完成,若是则事件表单完成,否则继续新增事件表单;
判断所述模块表单是否完成,若是则模块表单完成,否则继续新增模块表单;
当所述模块表单完成时,则所述项目表单库新增完成。
在一种可选的方式中,所述查询操作,包括:
通过所述指定项目,并获取指定项目的指定表单库;
确定是否下载所述指定表单库,
若是则获取所述指定表单库的所有表单数据,接收并根据格式要求表,将所述指定表单库填充到项目表单库中。
在一种可选的方式中,所述变更操作,包括:
获取所述指定表单库,并对所述指定表单库中的任一个或多个表单进行包括新增、修改、删除中任一项或多项操作,生成项目表单库。
在一种可选的方式中,所述对所述项目表单库进行判定处理,包括:
对所述项目表单库进行判定,并确定所述项目表单库是否通过判定,若是则对所述项目表单库进行编码处理,否则对所述项目表单库进行修改操作。
在一种可选的方式中,所述对所述项目表单库进行编码处理,包括:
获取项目表单库,并根据项目表单库查询预存的代码数据库的代码生成规则;
根据所述代码生成规则,对项目表单库进行代码转换,生成项目代码;
将所述项目代码进行提交到代码仓库且对通讯协议库进行迭代。
在一种可选的方式中,还包括:对所述项目代码进行自动编译,并将编译结果发送相关客户端。
在一种可选的方式中,所述项目表单库包括项目表单、模块表单、事件表单、数据结构表单、数据结构内容表单、枚举表单、枚举内容表单中任一项或多项。
根据本发明实施例的另一方面,提供了一种通讯协议管理装置,包括:
前端模块,用于获取输入指令;
数据库管理模块,用于接收输入指令,并执行确定选择新增项目或者预存于通讯协议库的指定项目,根据所述新增项目或者指定项目,对所述通讯协议库进行处理,生成项目表单库;
数据库提交模块,用于对所述项目表单库进行判定处理,并确定所述项目表单库是否通过判定。
在一种可选的方式中,所述数据库提交模块用于对所述数据库管理模块生成的项目表单库进行判定,并在判定通过后将项目表单库进行提交。
在一种可选的方式中,还包括代码生成模块、代码提交模块,其中,
所述代码生成模块,用于获取项目表单库,并根据项目表单库查询预存的代码数据库的代码生成规则,根据所述代码生成规则,对项目表单库进行代码转换,生成项目代码;
所述代码提交模块,用于将所述项目代码进行提交到代码仓库且对通讯协议库进行迭代。
在一种可选的方式中,所述前端模块、数据库管理模块、数据库提交模块、代码处理模块之间通过jenkins工具进行通讯。
根据本发明实施例的又一方面,提供了一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一可执行指令,所述可执行指令在上述通讯协议管理装置上运行时,使得通讯协议管理装置执行如上述的通讯协议管理方法的操作。
本发明实施例通过接收新增项目或指定项目的指令,对通讯协议库进行新增、继承、查询、变更等操作,生成项目表单库;实现了对通讯协议的便捷性管理;同时,本方案还加入对项目表单库的判定处理,通过判定处理增加通讯协议管理的可靠性和安全性。使通信协议平台化设计,新增项目的通讯协议进行增加、删除、修改,显著的提高了研发的效率、且提高了通讯协议库的复用率和便捷性。
上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
附图仅用于示出实施方式,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明提供的通讯协议管理方法的第一实施例的流程示意图;
图2示出了本发明提供的通讯协议管理方法的第二实施例的流程示意图;
图3示出了本发明提供的通讯协议管理装置的第一实施例的结构示意图;
图4示出了本发明提供的通讯协议管理装置的第二实施例的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。
图1示出了本发明通讯协议管理方法的第一实施例的流程图,该方法由通讯协议管理装置执行。如图1所示,所述方法包括:
101,确定选择新增项目或者预存于通讯协议库的指定项目;在步骤101中,选择新增项目或指定项目可以通过前端模块的用户界面进行操作确定,也可用过接收其他用户终端信息进行确认。在一些实施例中,前端模块主要为用户操作界面,主要包括,对已有项目的协议查询、下载和修改。新增项目的继承和新增。其中,新增项目的通信协议可以继承通用型项目来进行创建,根据通用型平台协议来进行增加和修改。这里的新增项目和指定项目均为通信协议方案。
102,根据新增项目或者指定项目,对通讯协议库进行处理,生成项目表单库;在步骤102中,根据新增项目或者指定项目,对通讯协议库进行处理,生成项目表单库,包括:若选择新增项目,则确定新增项目是否继承通讯协议库的目标项目,若是则对新增项目进行修改操作,否则对新增项目进行新增操作,通过修改操作或新增操作生成项目表单库;若选择指定项目,则执行对指定项目进行查询操作或变更操作,通过查询操作或变更操作生成项目表单库。数据库表只要设计7个表单,包括project_table,module_table,event_table,struct_table,struct_item_table,enum_table,enum_item_table。project_table主要用于项目表单,module_table用于模块表单,event_table用于事件表单,struct_table为数据结构表单,struct_item_table为数据结构内容表单,enum_table为枚举表单,enum_item_table为枚举内容表单。这些表单之间依次有关联的关系:
(1)project_table->module_table->event_table->struct_table->struct_item_table;
(2)project_table->module_table->event_table->enum_table->enum_item_table。
生成的项目表单库包括项目表单、模块表单、事件表单、数据结构表单、数据结构内容表单、枚举表单、枚举内容表单中任一项或多项。
103,对项目表单库进行判定处理,并确定项目表单库是否通过判定,若通过则对项目表单库进行编码处理,否则对项目表单库进行修改操作。在步骤103中,对项目表单库进行判定处理,还包括:对项目表单库进行判定,并确定项目表单库是否通过判定,若是则对项目表单库进行编码处理,否则对项目表单库进行修改操作。
本发明实施例通过接收新增项目或指定项目的指令,对通讯协议库进行新增、继承、查询、变更等操作,生成项目表单库;实现了对通讯协议的便捷性管理;同时,本方案还加入对项目表单库的判定处理,通过判定处理增加通讯协议管理的可靠性和安全性。使通信协议平台化设计,新增项目的通讯协议进行增加、删除、修改,显著的提高了研发的效率、且提高了通讯协议库的复用率和便捷性。
在一种可选的方式中,根据新增项目对通讯协议库进行处理,生成项目表单库,包括:选择新增项目,则确定新增项目是否继承通讯协议库的目标项目,若是则对新增项目进行修改操作,否则对新增项目进行新增操作,通过修改操作或新增操作生成项目表单库。
其中,
对新增项目进行修改操作包括:将目标项目的目标表单库填充到项目表单库中。另外,在将目标项目的目标表单库填充到项目表单库中之后,还可以包括:对项目表单库的任一个或多个表单进行包括新增、修改、删除中任一项或多项处理。通讯协议库里面已有通用项目A,也就是说project_table里面有A,A项目对应一个moduleA,也就是说module_table里面的moduleA是属于A项目的。然后moduleA里面有一个eventA,而eventA有一个structA。structA里面有一个struct_itemA。现在新增一个项目B继承项目A,然后project_table就会新增一项B,而后面module,event,struct和struct_item的对应关系是跟A一样的,会复制一份项目A相关的各种table。如果进行新增操作,例如B项目需要在eventA里面增加一个structB,而structB对应的是struct_itemB,则会在struct_table和struct_item_table里面增加structB和struct_itemB。这样的话项目B相对项目A就多了一些内容。但是目前这些新增的数据库内容只是临时保存,需要通过判定后才会提交并最终保存。
对新增项目进行新增操作,包括:新增模块表单;新增事件表单;新增数据结构表单或者枚举表单,并新增数据结构内容表单或者枚举内容表单;判断数据结构表单或者枚举表单是否完成,若是则数据结构表单或者枚举表单完成,否则继续新增数据结构内容表单或者枚举内容表单;判断事件表单是否完成,若是则事件表单完成,否则继续新增事件表单;判断模块表单是否完成,若是则模块表单完成,否则继续新增模块表单;当模块表单完成时,则项目表单库新增完成。在一个实施例中,S1新增模块,调用数据库管理模块在module_table增加值。S2新增事件,调用数据库管理模块在event_table增加值。S3确定新增数据结构还是枚举。S4新增数据结构则跳到S5。S5新增数据结构,调用数据库管理模块在struct_table增加值。S6新增数据结构里面项目,调用数据库管理模块在struct_item_table增加值。S7数据结构项目是否新增完成,如选择未完成则跳到S6。S8如选择完成则选择数据结构是否新增完成,如选择未完成则跳到S5。S9选择事件是否新增完成,如选择未完成则跳到S2。S10模块是否新增完成,如选择未完成则跳到S1。S11新增枚举则跳到S12。S12新增枚举,调用数据库管理模块在enum_table增加值。S13新增枚举里面项目,调用数据库管理模块在enum_item_table增加值。S14枚举项目是否新增完成,如选择未完成则跳到S13。S15如选择完成则选择枚举是否新增完成,如选择未完成则跳到S12。当模块表单完成时,则项目表单库新增完成。
在一种可选的方式中,根据指定项目,对通讯协议库进行处理,生成项目表单库,选择指定项目,则执行对指定项目进行查询操作或变更操作,通过查询操作或变更操作生成项目表单库。
其中,
查询操作,包括:通过指定项目,并获取指定项目的指定表单库;确定是否下载指定表单库,若是则获取指定表单库的所有表单数据,接收并根据格式要求表,将指定表单库填充到项目表单库中。其中,确定是否下载指令和格式要求表均通过前端模块进行下载。生成的项目表单库可通过邮件发送到相关用户。在本实施例中,选择指定项目时,具体包括:S1选择指定项目,根据指定项目指定project_table里面内容获取相关表单数据。S2选择查询还是修改操作。S3选择查询操作后,根据指定表单库把所有表单内容全部显示。S4选择是否下载操作,如果不选择下载则跳回到S2。S5如果选择下载功能,则获取指定表单库内容且根据特定的格式把表内容填充到需要生成的指定表单库的内容。S6如果选择修改操作再跳到修改操作。
变更操作,包括:获取指定表单库,并对指定表单库中的任一个或多个表单进行包括新增、修改、删除中任一项或多项操作。在本实施例中,本申请通过获取前端模块的指定对通讯协议库中的指定项目的指定表单库进行修改,其中具体操作为:对指定表单库的任一个或多个表执行新增、修改、删除等操作;在指定表单库被修改后,变更为项目表单库;需要对项目表单库进行判定处理。
在一种可选的方式中,对项目表单库进行判定处理,还包括:对项目表单库进行判定,并确定项目表单库是否通过判定,若是则对项目表单库进行编码处理,否则对项目表单库进行修改操作。在本实施例中,通过修改操作、新增操作和变更操作的项目表单库只是临时内容,并没有最终的保存。可以理解为数据库管理模块对表单的进行操作只是保存在内存,只有通过判定后才会通知数据库提交模块,数据库提交模块的提交才会保存数据库的磁盘文件。这里增加判定处理的过程是对项目表单库验证的需要,可以是人为判定,所有的项目表单库需要有判定能力的人和相关都审查和同意后才会最终修改;可避免随意修改引起开发问题。同时,对项目表单库进行判定也可以是通过验证数据库进行判定的,如可设置一验证数据库,可在验证数据库中,将对通讯协议库进行处理生成项目表单库所涉及的所有方案进行逐一遍历,在验证数据库查找是否具有确定的匹配项目。每一操作或每一项目表单库可通过验证数据库确认其是否OK或NG,从而实现对项目表单库进行自动化的判定。其中,验证数据库可通过人为枚举、机械枚举或者自学习模型进行建立,在一实施例中,若项目表单库能够在验证数据库找到对应的操作则判定为OK进入下一步,否则为NG。避免随意修改引起开发问题,通过此步骤可用于解决行业存在的痛点问题,为本方案的一个优点和亮点。
此外,在项目表单库判定过后,项目表单库进行表单变更,其中,版本管理工具很多,可以选择不同的版本管理工具,此处选择git来举例说明。git为linux上面比较常用的版本管理工具,非常强大,功能很多。这里就是需要一个版本管理工具对数据库文件进行版本管理并存档。
图2示出了本发明通讯协议管理方法的第二实施例的流程图,本实施例还包括:104,对项目表单库进行编码处理,如图2所示,具体包括:获取项目表单库,并根据项目表单库查询预存的代码数据库的代码生成规则;根据代码生成规则,对项目表单库进行代码转换,生成项目代码;将项目代码进行提交到代码仓库且对通讯协议库进行迭代。在本实施例中,具体步骤为:获取数据库提交模块此处提交的项目为哪个项目;获取相应项目对应的代码生成规则;规矩所选规则进行相关代码生成的动作;把生成代码提交到对应的代码仓库。针对特定的项目选择不同的代码生成规则,其中,代码生成规为提前设定好的内容,例如IDL生成,FIDL生成,头文件生成规则等等。根据所选代码生成规则进行相关代码生成动作。例如项目A使用需要生成IDL文件,则通过读取项目A的数据库表里面内容,通过编写python,通过预设好的格式就行IDL文件的生成。IDL文件生成后便可通知IDL代码生成器来进行代码生成。如果项目B需要生成的SOC和MCU一致的头文件,怎可以读取数据库里面相应表的内容,通过编写python,通过预设好的格式来生成SOC和MCU使用的头文件。
在一种可选的方式中,还包括:对项目代码进行自动编译,并将编译结果发送相关客户端。在本实施例中,本步骤为将项目代码编译成软件的过程。自动生成代码软件的逻辑处理。具体的步骤是:查询数据库内容;解析数据;根据解析结果生成代码;提交代码。实现便是修改对应项目的协议后,马上便会对应新的协议进行代码生成并提交到版本库;同时将项目代码编译成软件。自动化完成,实时高效并且避免出错。
图3示出了本发明的通讯协议管理装置的实施例的第一实施例结构示意图,如图3所示,该装置包括:
前端模块201,用于获取输入指令;其中,前端模块主要为用户操作界面,主要包括,已有项目的协议查询,下载和修改。新增项目协议修改和增加。其中,新增项目通信协议可以继承通用型项目来进行创建,根据通用型平台协议来进行增加和修改。
数据库管理模块202,用于接收输入指令,并执行确定选择新增项目或者预存于通讯协议库的指定项目,根据新增项目或者指定项目,对通讯协议库进行处理,生成项目表单库。根据新增项目或者指定项目,对通讯协议库进行处理,生成项目表单库,包括:若选择新增项目,则确定新增项目是否继承通讯协议库的目标项目,若是则对新增项目进行修改操作,否则对新增项目进行新增操作,通过修改操作或新增操作生成项目表单库;若选择指定项目,则执行对指定项目进行查询操作或变更操作,通过查询操作或变更操作生成项目表单库。
数据库提交模块203,用于对项目表单库进行判定处理;具体的,数据库提交模块用于对数据库管理模块生成的项目表单库进行判定,并在判定通过后将项目表单库进行提交。
本发明实施例通过接收新增项目或指定项目的指令,对通讯协议库进行新增、继承、查询、变更等操作,生成项目表单库;实现了对通讯协议的便捷性管理;同时,本方案还加入对项目表单库的判定处理,通过判定处理增加通讯协议管理的可靠性和安全性。使通信协议平台化设计,新增项目的通讯协议进行增加、删除、修改,显著的提高了研发的效率、且提高了通讯协议库的复用率和便捷性。
在一种可选的方式中,数据库管理模块202包括修改子模块、新增子模块、查询子模块和变更子模块。
修改子模块用于将目标项目的目标表单库填充到项目表单库中;还包括用于在将目标项目的目标表单库填充到项目表单库中之后,对项目表单库的任一个或多个表单进行包括新增、修改、删除中任一项或多项处理。新增子模块,用于执行新增项目操作:
新增模块表单;新增事件表单;新增数据结构表单或者枚举表单,并新增数据结构内容表单或者枚举内容表单;判断数据结构表单或者枚举表单是否完成,若是则数据结构表单或者枚举表单完成,否则继续新增数据结构内容表单或者枚举内容表单;判断事件表单是否完成,若是则事件表单完成,否则继续新增事件表单;判断模块表单是否完成,若是则模块表单完成,否则继续新增模块表单;当模块表单完成时,则项目表单库新增完成。
查询子模块,用于通过指定项目,并获取指定项目的指定表单库;确定是否下载指定表单库,若是则获取指定表单库的所有表单数据,接收并根据格式要求表,将指定表单库填充到项目表单库中。
变更子模块,用于获取指定表单库,并对指定表单库中的任一个或多个表单进行包括新增、修改、删除中任一项或多项操作,生成项目表单库。
图4示出了本发明的通讯协议管理装置的实施例的第二实施例结构示意图,如图4所示,还包括代码生成模块204、代码提交模块205,其中,代码生成模块204,用于获取项目表单库,并根据项目表单库查询预存的代码数据库的代码生成规则,根据代码生成规则,对项目表单库进行代码转换,生成项目代码;代码提交模块205,用于将项目代码进行提交到代码仓库且对通讯协议库进行迭代。具体步骤为:获取数据库提交模块此处提交的项目为哪个项目;获取相应项目对应的代码生成规则;规矩所选规则进行相关代码生成的动作;把生成代码提交到对应的代码仓库。针对特定的项目选择不同的代码生成规则,其中,代码生成规为提前设定好的内容,例如IDL生成,FIDL生成,头文件生成规则等等。根据所选代码生成规则进行相关代码生成动作。例如项目A使用需要生成IDL文件,则通过读取项目A的数据库表里面内容,通过编写python,通过预设好的格式就行IDL文件的生成。IDL文件生成后便可通知IDL代码生成器来进行代码生成。如果项目B需要生成的SOC和MCU一致的头文件,怎可以读取数据库里面相应表的内容,通过编写python,通过预设好的格式来生成SOC和MCU使用的头文件。
在一种可选的方式中,前端模块、数据库管理模块、数据库提交模块、代码处理模块之间通过jenkins工具进行通讯。enkins是持续集成工具,负责自动构建代码软件,也是一个开源的工具,由于不是本方案的设计内容,只是使用此工具达到相应目的。通过jenkins工具进行以下步骤:调用自动生成代码软件生成代码;自动通过git提交代码;自动编译;编译成功或者失败可以自动邮件通知相关方;以达到输出项目软件的目的。
本装置包括前端模块,数据库管理模块,数据库提交模块,代码生成模块和代码提交模块。数据库表只要设计7个表单,包括project_table,module_table,event_table,struct_table,struct_item_table,enum_table,enum_item_table。project_table主要用于项目管理,module_table用于模块管理,event_table用于时间管理,struct_table为数据结构,struct_item_table为数据结构里面的具体项,enum_table为枚举,enum_item_table为具体的枚举项。这些表单之间依次有关联的关系:
(1)project_table->module_table->event_table->struct_table->struct_item_table;
(2)project_table->module_table->event_table->enum_table->enum_item_table。
本申请的前端模块的设计满足用户的基本操作需求,同时此模块跟数据库管理模块以及后续模块的联动,真正做到从通信协议层面到代码的生成并提交全程自动化,极大的提高研发的效率,并且能够很好的保持通信协议与代码的一致性,实时同步,减少因为不同步导致的错误。本申请进行通信协议平台化设计,新增的项目可以基于某个项目的协议进行增删修改,不用从头设计,达到复用和容易管理的目的。数据库管理通信协议这一设计,为代码的生成方式提高了极大的灵活性。背景技术的做法一般都是针对特定的协议,或者使用特定工具,而此发明可以应对不同的代码生成方式,只需要代码生成模块里面针对不同项目,针对不同的代码生成方案进行添加相应的操作便可。
本发明实施例提供了一种计算机可读存储介质,存储介质中存储有至少一可执行指令,可执行指令在上述通讯协议管理装置上运行时,使得通讯协议管理装置执行如上述的触摸测试方法的操作。
本申请的前端模块的设计满足用户的基本操作需求,同时此模块跟数据库管理模块以及后续模块的联动,真正做到从通信协议层面到代码的生成并提交全程自动化,极大的提高研发的效率,并且能够很好的保持通信协议与代码的一致性,实时同步,减少因为不同步导致的错误。本申请进行通信协议平台化设计,新增的项目可以基于某个项目的协议进行增删修改,不用从头设计,达到复用和容易管理的目的。数据库管理通信协议这一设计,为代码的生成方式提高了极大的灵活性。背景技术的做法一般都是针对特定的协议,或者使用特定工具,而此发明可以应对不同的代码生成方式,只需要代码生成模块里面针对不同项目,针对不同的代码生成方案进行添加相应的操作便可。
在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。此外,本发明实施例也不针对任何特定编程语言。
在此处所提供的说明书中,说明了大量具体细节。然而能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。类似地,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。其中,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
Claims (14)
1.一种通讯协议管理方法,其特征在于,所述方法包括:
确定选择新增项目或者预存于通讯协议库的指定项目;
根据所述新增项目或者指定项目,对所述通讯协议库进行处理,生成项目表单库;
对所述项目表单库进行判定处理,并确定所述项目表单库是否通过判定,若通过则对所述项目表单库进行编码处理,否则对所述项目表单库进行修改操作。
2.根据权利要求1所述一种通讯协议管理方法,其特征在于,所述根据所述新增项目或者指定项目,对所述通讯协议库进行处理,生成项目表单库,包括:
若选择所述新增项目,则确定所述新增项目是否继承所述通讯协议库的目标项目,若是则对所述新增项目进行修改操作,否则对所述新增项目进行新增操作,通过修改操作或新增操作生成项目表单库;
若选择所述指定项目,则执行对所述指定项目进行查询操作或变更操作,通过查询操作或变更操作生成项目表单库。
3.根据权利要求2所述一种通讯协议管理方法,其特征在于,所述对新增项目进行修改操作,包括:
将所述目标项目的目标表单库填充到所述项目表单库中。
4.根据权利要求3所述的一种通讯协议管理方法,其特征在于,在将所述目标项目的目标表单库填充到所述项目表单库中之后,所述还包括:
对所述项目表单库的任一个或多个表单进行包括新增、修改、删除中任一项或多项处理。
5.根据权利要求2所述的一种通讯协议管理方法,其特征在于,所述对新增项目进行新增操作,包括:
新增模块表单;
新增事件表单;
新增数据结构表单或者枚举表单,并新增所述数据结构内容表单或者枚举内容表单;
判断所述数据结构表单或者枚举表单是否完成,若是则数据结构表单或者枚举表单完成,否则继续新增所述数据结构内容表单或者枚举内容表单;
判断所述事件表单是否完成,若是则事件表单完成,否则继续新增事件表单;
判断所述模块表单是否完成,若是则模块表单完成,否则继续新增模块表单;
当所述模块表单完成时,则所述项目表单库新增完成。
6.根据权利要求2所述的一种通讯协议管理方法,其特征在于,所述查询操作,包括:
通过所述指定项目,并获取指定项目的指定表单库;
确定是否下载所述指定表单库,
若是则获取所述指定表单库的所有表单数据,接收并根据格式要求表,将所述指定表单库填充到项目表单库中。
7.根据权利要求6所述的一种通讯协议管理方法,其特征在于,所述变更操作,包括:
获取所述指定表单库,并对所述指定表单库中的任一个或多个表单进行包括新增、修改、删除中任一项或多项操作,生成项目表单库。
8.根据权利要求1所述的一种通讯协议管理方法,其特征在于,所述对所述项目表单库进行编码处理,包括:
获取项目表单库,并根据项目表单库查询预存的代码数据库的代码生成规则;
根据所述代码生成规则,对项目表单库进行代码转换,生成项目代码;
将所述项目代码进行提交到代码仓库且对通讯协议库进行迭代。
9.根据权利要求8所述的一种通讯协议管理方法,其特征在于,还包括:对所述项目代码进行自动编译,并将编译结果发送相关客户端。
10.根据权利要求1所述的一种通讯协议管理方法,其特征在于,所述项目表单库包括项目表单、模块表单、事件表单、数据结构表单、数据结构内容表单、枚举表单、枚举内容表单中任一项或多项。
11.一种通讯协议管理装置,其特征在于,包括:
前端模块,用于获取输入指令;
数据库管理模块,用于接收输入指令,并执行确定选择新增项目或者预存于通讯协议库的指定项目,根据所述新增项目或者指定项目,对所述通讯协议库进行处理,生成项目表单库;
数据库提交模块,用于对所述项目表单库进行判定处理,并确定所述项目表单库是否通过判定。
12.根据权利要求11所述的一种虚拟装置,其特征在于,还包括代码生成模块、代码提交模块,其中,
代码生成模块,用于获取项目表单库,并根据项目表单库查询预存的代码数据库的代码生成规则,根据所述代码生成规则,对项目表单库进行代码转换,生成项目代码;
代码提交模块,用于将所述项目代码进行提交到代码仓库且对通讯协议库进行迭代。
13.根据权利要求12所述的一种虚拟装置,其特征在于,所述前端模块、数据库管理模块、数据库提交模块、代码处理模块之间通过jenkins工具进行通讯。
14.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一可执行指令,所述可执行指令在如权利要求11-13任一项所述通讯协议管理装置上运行时,使得通讯协议管理装置执行如权利要求1-10任一项所述的通讯协议管理方法的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310976876.9A CN117290365A (zh) | 2023-08-03 | 2023-08-03 | 通讯协议管理方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310976876.9A CN117290365A (zh) | 2023-08-03 | 2023-08-03 | 通讯协议管理方法、装置及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117290365A true CN117290365A (zh) | 2023-12-26 |
Family
ID=89255973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310976876.9A Pending CN117290365A (zh) | 2023-08-03 | 2023-08-03 | 通讯协议管理方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117290365A (zh) |
-
2023
- 2023-08-03 CN CN202310976876.9A patent/CN117290365A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6651240B1 (en) | Object-oriented software development support apparatus and development support method | |
US6243835B1 (en) | Test specification generation system and storage medium storing a test specification generation program | |
CN112965785B (zh) | 基于容器的微服务应用开发方法及开发平台 | |
CN109067704B (zh) | 一种卫星遥控指令格式设计与编码管理系统及方法 | |
US11086765B2 (en) | Test reuse exchange and automation system and method | |
US20090125875A1 (en) | Method for manufacturing a final product of a target software product | |
CN108038054B (zh) | 一种自动化测试方法及装置、计算机可读存储介质 | |
CN111353754B (zh) | 流程模板的生成方法、装置、电子设备及可读存储介质 | |
US20070073724A1 (en) | System and method for automatic or semi-automatic software integration | |
US20100333083A1 (en) | Software Asset Packaging and Consumption Method and System | |
CN114625353A (zh) | 模型框架代码生成系统及方法 | |
EP2557499A1 (en) | A system and method for automatic impact variable analysis and field expansion in mainframe systems | |
CN111026670B (zh) | 测试用例的生成方法、测试用例的生成装置及存储介质 | |
CN111784108B (zh) | 一种主数据管理平台的建模方法和装置 | |
EP2151790A1 (en) | A process model lean notation | |
US20050137839A1 (en) | Methods, apparatus and programs for system development | |
CN110543299A (zh) | 一种云计算管理平台代码生成方法和装置 | |
CN111061733B (zh) | 数据处理方法、装置、电子设备和计算机可读存储介质 | |
CN111679851A (zh) | 需求代码管理方法、装置、系统与计算机可读存储介质 | |
CN117290365A (zh) | 通讯协议管理方法、装置及计算机可读存储介质 | |
CN112597034A (zh) | 测试用例的生成方法、装置及计算机可读存储介质 | |
CN116225902A (zh) | 生成测试用例的方法、装置及设备 | |
CN113448847B (zh) | 一种测试方法及系统 | |
CN112559339B (zh) | 一种基于数据模板引擎的自动化测试验证方法及其测试系统 | |
CN113504904A (zh) | 用户定义函数实现方法、装置、计算机设备和存储介质 |
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 |