CN114127683A - 通过中央电子计算装置开发用于机动车的远程命令数据包的方法以及中央电子计算装置 - Google Patents
通过中央电子计算装置开发用于机动车的远程命令数据包的方法以及中央电子计算装置 Download PDFInfo
- Publication number
- CN114127683A CN114127683A CN202080051516.2A CN202080051516A CN114127683A CN 114127683 A CN114127683 A CN 114127683A CN 202080051516 A CN202080051516 A CN 202080051516A CN 114127683 A CN114127683 A CN 114127683A
- Authority
- CN
- China
- Prior art keywords
- computing device
- electronic computing
- central electronic
- vehicle
- operating program
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30094—Condition code generation, e.g. Carry, Zero flag
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/08—Interaction between the driver and the control system
- B60W50/14—Means for informing the driver, warning the driver or prompting a driver intervention
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/008—Registering or indicating the working of vehicles communicating information to a remotely located station
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/08—Interaction between the driver and the control system
- B60W50/14—Means for informing the driver, warning the driver or prompting a driver intervention
- B60W2050/146—Display means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Human Computer Interaction (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明涉及一种通过中央电子计算装置(10)开发用于机动车(16)的远程命令数据包(14)的方法,其中,中央电子计算装置(10)在中央电子计算装置(10)的用户界面(12)中提供多个模板,单个模板定义至少一个广义车辆命令,其中,该远程命令数据包(14)的开发者(18)通过使用该用户界面(12)提供定义用于所述远程命令数据包(14)的逻辑的操作程序(84),其中,该开发者(18)通过使用所述多个模板中的至少一个模板提供该操作程序(84),并且该中央电子计算装置(10)依据所用的模板将该操作程序(84)转换为车辆命令。此外,本发明涉及计算机可读存储介质以及中央电子计算装置(10)。
Description
技术领域
本发明涉及汽车领域。确切地说,本发明涉及通过中央电子计算装置开发用于机动车的远程命令数据包的方法以及对应的计算机可读存储介质和对应的中央电子计算装置。
背景技术
联网车辆变得越来越常见。联网车辆可以连接至公共网络和/或私有网络,例如串行数据网络。在这种情况下可以在车辆和车辆拥有者之间发送消息。例如后端服务器可以利用短信服务消息与车辆通信。
但是,现有车辆通信系统提供有限的功能。例如,现有车辆通信系统可要求使用车辆专属命令。另外,可能难以开发车辆通信系统用命令。
发明内容
本发明的目的是提供一种方法、一种计算机可读存储介质以及一种中央电子计算装置,借此可以通过开发者以更快速的方式提供用于机动车的远程命令数据包。
此目的通过根据独立权利要求的方法、计算机可读存储介质以及中央电子计算装置来实现。在从属权利要求中指出了有利的实施例。
本发明的一个方面涉及一种通过中央电子计算装置开发用于机动车的远程命令数据包的方法,其中,该中央电子计算装置在该中央电子计算装置的用户界面中提供多个模板,其中,单个模板限定至少一个广义车辆命令,其中,该远程命令数据包的开发者通过使用该用户界面提供定义远程命令数据包的逻辑的操作程序,其中,该开发者通过使用所述多个模板中的至少一个模板提供该操作程序,并且,该中央电子计算装置依据所用的模板将该操作程序转换为车辆命令。
因此,提供一种开发远程命令数据包的更高效方法。另外,也可提供一种开发用于机动车的远程命令数据包的更快速方法。
尤其在本发明的一个实施例中,本发明涉及一种开发和/或执行用于车辆(例如轿车、卡车和/或其它类型车辆)的远程命令的技术。例如,无服务器的云平台可以被提供用于管理车辆命令。车辆命令可以由开发者创建。车辆命令可以是抽象车辆命令,其也可以被称为广义车辆命令。车辆命令可以通过该平台来执行,例如被翻译成车辆专用命令并被通信至机动车,尤其是特定的机动车。
在本发明的一个实施例中,所述至少一个模板通过开发者使用用户界面来开发。换言之,操作程序以及模板可以由开发者开发。因此,可以通过不同的开发者为中央电子计算装置开发新模板。在一些实现方式中,所述至少一个模板由开发者创建。模板定义被用来将该平台所接收的数据翻译成机动车所需的特定格式。例如车辆命令可以作为抽象车辆命令被提供给平台。
在另一实施例中,车辆命令是抽象车辆命令。换言之,车辆命令可以是广义车辆命令。例如车辆命令可以作为抽象车辆命令被提供给平台。平台可以接收抽象车辆命令并且将抽象车辆命令映射成作为通信目标的特定机动车所需要的具体车辆命令。例如抽象车辆命令可被译为具体二进制格式,例如具体有效载荷格式。
在另一实施例中,该中央电子计算装置是无服务器云计算平台。例如云计算服务可在需要时被分配,并且例如可能不必维持静态云服务器,可以按需缩放容量。
在另一实施例中,中央电子计算装置包括用于与机动车通信的通信装置,该远程命令数据包通过通信装置被传送给机动车。因此,新开发的远程命令数据包被提供给机动车。中央电子计算装置存储远程命令数据包,并且在存储远程命令数据包之后,远程命令数据包被传送给机动车以执行。
在另一实施例中,所开发的操作程序和/或所开发的模板通过中央电子计算装置的测试单元被测试。例如所开发的操作程序和/或所开发的模板可以被作为测试单元的编译器编译。因此,对应的远程命令数据包被测试,其中,经过测试的远程命令数据包被传输给机动车。
在本发明的另一个实施例中,根据经过测试的操作程序,经过测试的远程命令数据包被传送给机动车。因此,只将经过测试的远程命令数据包传送给机动车。这有以下优点,只有经过测试的操作程序和经过测试的远程命令数据包可以被传送给机动车以便执行。
在另一实施例中,电子计算装置依据机动车表征参数提供所述至少一个模板。例如表征参数可以是机动车的类型系列或型号系列。因此,具体的远程命令数据包可以由开发者开发。尤其是,开发者不会使用错误的模板。因此,提供一种开发所述至少一个远程命令数据包的更快速方法。
本发明的另一方面涉及一种计算机可读存储介质,其存储计算机可执行指令,计算机可执行指令用于使中央电子计算装置根据按照在先方面的方法执行操作。尤其是,该计算机可读存储介质包含带有计算机可执行指令的计算机程序产品。
本发明的又一方面涉及一种中央电子计算装置,其具有至少一个用户界面和根据在先方面的一种计算机可读存储介质,其中,中央电子计算装置被配置成执行根据在先方面的方法。该方法尤其由中央电子计算装置来执行。
从以下对优选实施例的描述以及从图中得到本发明的其它优点、特征和细节。先前在说明书中提到的特征和特征组合以及在以下的附图说明中提到的和/或如图单独示出的特征和特征组合可以不仅在各自所指出的组合中,也可以在任何其它组合中或单独地使用,而没有超出本发明范围。
附图说明
在从属权利要求中叙述本文的新的特征和特点。被加入本文且构成其一部分的附图示出了实施例并且与说明书一起用于解释所披露的原理。在图中,相同的附图标记在全部图中被用来表示相同的特征和组成部件。现在,仅举例并参照附图来如下描述根据本主题的实施例的系统和/或方法的一些实施例。
附图示出了:
图1示出根据本发明的实施例的中央电子计算装置的示意性框图;
图2示出可在此实现某些所述实施例的中央电子计算装置的示例的图;
图3示出可以与本文所述的技术结合使用的云计算环境的示例;
图4A-4D示出根据本发明的实施例的用户界面的不同示例。
在图中,相同的或具有相同功能的零部件由相同的附图标记标示。
具体实施方式
本文中,词语“示例性”在此被用来表示“用作例子、示例或说明”。在本文中“示例性”所述的本主题的任何实施例或实现方式不必被解读为相比于其它实施例是优选的或有利的。
尽管本文易接受各种修改和替代方式,其具体实施例已在图中被举例示出并且以下将被具体描述。但应该理解,并非想要将本文限制到所披露的特定形式,而是相反,本文要涵盖落在本文范围内的所有的修改、等同和替代方式。
术语“包括”、“包含”或其任何其它变体打算涵盖非排他性内容物,因此,包括一组组成部件或步骤的配置、设备或方法不包含仅仅那些组成部件或步骤,而是可以包括未明确列出的或本属于这样的配置或设备或方法的其它的组成部件或步骤。换言之,该系统或设备内的前缀有“包括”或“包含”的一个或多个元件无更多约束地未排除该系统或方法内存在其它元件或附加元件。
在本文的实施例的以下具体说明中,参照了形成其一部分的附图,在附图中示范性示出可实现本文的具体实施例。这些实施例被充分详细地描述以允许本领域技术人员实现本文,并且应该理解的是其它实施例可被采用并且可以在部超出本文范围的情况下做出改变。因此,不应该以限制的意味来理解以下的说明。
图1示出具有至少一个用户界面12和一种计算机可读存储介质的中央电子计算装置10的实施例的示意性框图。
在图1所示的本发明实施例中提出一种通过中央电子计算装置10开发用于机动车16的远程命令数据包14的方法。中央电子计算装置10在中央电子计算装置10的用户界面12中提供多个模板,其中,单个模板定义至少一个广义车辆命令,其中,远程命令数据包14的开发者18使用用户界面12提供定义用于远程命令数据包14的逻辑的操作程序84(图4),其中,开发者18使用所述多个模板中的至少一个模板提供操作程序84,中央电子计算装置10依据所用模板将操作程序84转换为车辆命令。
中央电子计算装置10可以包括几个组成部件,它们可从VAG 20(车辆应用网关)接收消息并可回发应答至VAG 20。此外,几个组成部件可以相互发送消息并且从通信装置22接收以及对通信装置22发送消息以完成命令。中央电子计算装置10的每个组成部件在此开发操作程序84或模板的进程中起到作用。
电子输入设备10的主入口可以是称为FIREMAN 24(过滤入口、路由、排队管理器)的块。FIREMAN 24可以通过接收来自VAG 20的信息或接收来自VVR 26(虚拟车辆表示)的数据来获取该进程。此外,FIREMAN 24可以自CODER 28或称为SCRIBE 30的块接收命令和模板。FIREMAN 24可以在称为COAST 32的块和CACHE 44中存储进程相关信息以随后访问。此外,FIREMAN 24呼叫COAST 32排队该进程。FIREMAN 24也可请求进程状态或服务名,其中,服务名指的是车辆服务,例如门、辅助加热或引擎。从其它端点,FIREMAN 24通过呼叫COAST32获得特定进程相关信息。此外,FIREMAN 24通过呼叫用于查询数据库的COAST 32获得关于特定命令的每个命令类型的最新一个的信息。
COAST 32是用于FIREMAN 24和称为SCRIPT 34的块的主要服务,在此,COAST 32被呼叫以存取进程。COAST 32在被呼叫时基于进程状态创建coast事件,并在任何其它进程针对相同命令在进行中以及进程被拒的情况下基于事件类型来适当处理事件。COAST 32也录写Redis(内存数据结构存储器,用作数据库、高速缓存和消息代理)和Postgres(对象关系数据库系统),在任何新进程时或所有程序进程更新或结束时向称为VEP 36(车辆事件推送)的块公布。COAST 32可呼叫暂停规划器38以引发尚要超过例如8分钟才完成的进程的暂停。COAST 32向服务总线排队新进程和暂停进程以便SCRIPT 34拾取。
SCRIPT 34执行来自QUEUE 40的由COAST 32和称为PROTOSS 42的块(协议状态服务)所写的任何内容,其中,PROTOSS 42是在SCRIPT 34和通信装置22之间的网关。SCRIPT34从Redis读取CACHE 44,从COAST 32读取更新进程状态,并执行操作程序84的每个步骤,在每个这样的需要这样做的步骤中呼叫PROTOSS 42。SCRIPT 34将在一个用于其基于触发事件从QUEUE 40获得的进程的特定处理程序中运行下一步骤序列。
多个步骤应该以从CACHE 44获得进程相关信息并呼叫COAST 32以让它知道更新进程状态开始。随后有各种可行下一步骤。第一可能步骤是如下步骤,如果该步骤更新VVR26进程相关数据,则它呼叫VVR 26。另一步骤牵涉以任何方式到达机动车16,其中PROTOSS42被呼叫。在另一步骤中呼叫外部资源,例如在一步骤中PROTOSS 42将呼叫通信装置22,且SCRIPT 34将“步骤完成动作”调设至“等候”并将不会执行下一步骤,直到它从QUEUE 40拾取待处理的队列消息。在其它步骤中,如果步骤完成动作被调设至简单运行下一步骤,则SCRIPT 34将继续到下一步骤。如果过程中出现错误,SCRIPT34将仍发送确认消息至PROTOSS 42以发送至遥测控制单元(TCU),从而TCU知晓已经收到应答,但随后TCU将进至错误步骤,跳过其它步骤。
在完成一个步骤之后,SCRIPT 34将检查该步骤是否随后暂停或继续至下一步骤。如果它是应继续的步骤,则将继续,否则它将等待直至QUEUE 44监听器在服务总线中找到一些东西。
PROTOSS 42是SCRIPT 34和通信装置22之间的网关。它代表从中央电子计算装置10至机动车16的入口和出口。PROTOSS 42也应在从CACHE 44获得所有车辆信息时开始。它接着呼叫通信装置22,其呼叫机动车16,PROTOSS 42应该获得确认且有时获得另一应答。如果存在另一应答,则PROTOSS 42将保持开放链接并等候机动车16的应答。在这些步骤中,SCRIPT 32将被调至暂停并将不会继续下一步骤,直至收到应答。当ROTOSS 42获得应答且排队新消息至服务总线以便SCRIPT 34拾取时,执行下一步骤。
在CACHE 44处所有的进程相关信息被存储以便快速存取。每个进程的最小版本被散播到整个电子计算装置10,但每个进程具有独特位,从而进程的完整版本可以由任何服务或所述模块在任何时候自CACHE 44取得,假定该进程仍在CACHE 44中。这允许通过进程ID(PID)快速取得进程,从而进程的完整信息组不需要在中央电子计算装置10的不同组成部件之间传递。
QUEUE 40是用于处理命令的优先排序机制。任何准备执行的东西被布置在这里并且SCRIPT 34将拾取该命令以执行它。如果存在多队列环境,则SCRIPT 34将允许多位使用者同时使用相同的QUEUE 40,并且如果不存在多排队环境,则QUEUE 40被限制到一次一位使用者。可能会有许多排队。如果排队涉及不同的车辆,则在任何QUEUE 40情况下多个SCRIPTS 34和多个PROTOSS 42同时运行命令是没有问题的,因为它们正与不同的QUEUE 40合作。
CODER 28保存有用来执行进程的操作程序定义。CODER 28是可从用户界面12编辑的,因此当FIREMAN 24取得操作程序定义信息时,FIREMAN 24将获得所需的操作程序信息以便能完成命令。CODER 28也向CACHE 40构建/公布。
SCRIBE 30保存有用于执行用于某个移动车辆16的命令所需要的命令的模板。它可以从用户界面12编辑,并且FIREMAN 24可以用关于服务、命令、版本和协议标识符的信息呼叫它以得到命令所需的模板ID。
用户界面12允许编辑信息,其中它通过称为CUBS 46的块和称为CAST 48的块被设定至可被CODER 28、SCRIBE 30和QUEUE 40获得。
CUBS 46是用户界面12用后端服务。它提供用户界面信息给开发者18。块CAST 48转换一个指标并将其移入CODER 28、SCRIBE 30和QUEUE 40中,FIREMAN 24和SCRIPT 34能在运行时拾取它并执行在此所存的任何命令。
在VVR 26中,关于车辆的数据被存储和取回,因此在系统中知道例如哪些门是锁着的或哪个附加加热配置处于使用中或者车辆的TCU信息和协议版本。利用VAG 20,FIREMAN 24被呼叫以告诉中央电子计算装置10执行命令。在进程每次被初始化、更新或完成时,COAST 32呼叫VEP 36以公布事件。
FIREMAN 24、SCRIPT 34、COAST 32、CODER 28和SCRIBE 30均被配置成使多个个人在线数据存储(PODS)同时运行。一个进程可以利用运行不同的步骤的一个不同的SCRIPT34执行。上述的模块或服务可以全部从QUEUE40和CACHE 44抓取以获得其所需信息。进程初始化和自PROTOSS 42返回的应答将所需信息全都存储在CACHE 44和QUEUE 40中。
如果有错误,则它还再排队以被SCRIPT 34拾取并遵循基本上相同的操作程序84,尽管SCRIPT 34将执行错误步骤并结束该进程。如果是TCU错误,则确认将被发送回至移动车辆16的TCU,因此它知道它无需再尝试以阻止TCU进行进一步的重试逻辑或进程。
有时,当一项服务呼叫外部服务时,它将用指数退避重试几次后才放弃。
换言之,中央电子计算装置10提供对先前现有技术的改进。例如,利用中央电子计算装置10,开发者18配备有完整平台,其将基础设施和安全抽象化并且作为服务提供自动缩放、部署管道、集成、插桩、记录、监视、运算和测试能力。此服务以按使用付费模型出现,允许开发和商务团队降低基础设施、运算和开发时间的成本。目标是要允许开发者18在某个时间内,尤其且最好在24小时内运送远程命令数据包14至生产前环境。新开发者18的运送命令的体验通过以下步骤来设计:在第一步骤中,开发者18提供代表车辆消息值的模式。该模式可以是基于XML的WSDL、Yaml表示或者甚至Preon消息Java文件。在第二步骤中,开发者18使用中央电子计算装置10,尤其是用户界面12来创建新服务,其只有少量区域和按键以供分别填写和按下。在第三步骤中,开发者18通过按下按键添加命令类型至此服务,允许它们命名该命令。在第四步骤中,开发者18添加操作程序步骤至这些命令类型。这些操作程序步骤具有具体类型例如发送车辆消息、接收车辆消息、定制代码块,以及错误和暂停处理程序。这些步骤类型可以是前述的模板。每个步骤类型需要来自开发者18的最少输入并且可以被拖放入操作程序84中。车辆消息步骤类型可以通过下拉至规定的车辆消息来绑定。在第五步骤中,利用规定的命令,开发者18现在可以将这些命令从开发晋级至测试,随后进一步晋级至集成和之后的生产。在第六步骤中,一旦已部署,则开发者18可以在一个入口供应其API并且现在作为服务提供其车辆命令给其它开发者团队。
一旦车辆命令已经作为服务被供应,则创作开发者团队可以转移至其它计划和优先事项,因为上述特定命令的支持和运算由中央电子计算装置10团队负担。开发团队将仅基于其命令被唤起的时间量被收取少量费用,而不是针对整个基础设施被收费。
在一些实现方案中,开发者18和/或平台执行以下操作中的一个或多个。第一操作可以是开发者18上传车辆消息模板,其中该模板被上传到SCRIBE30(绑定实体用模式获取界面)。该模板被综合分析并被检查是否有误。非Java模板被变换成Java Preon消息类别。Java文件被编译成类别文件并被移至CACHE 40中的分级储存器。SCRIPT 34采用轮询线程,其具有用于在运行时间加载新消息类型的Spring aware类别加载器并通过模板ID指明类别。
第二操作可以是开发者18创建新服务和车辆命令。该服务是保存车辆命令集合的顶级数据模型。此服务是被组成部件CODER 28(命令定义获取)已知且理解的。开发者18添加车辆命令(操作程序84)至其服务。开发者18添加定义命令内步骤类型且提供用于具体区域的值的步骤。一旦开发者18点击“保存”,则操作程序84被串行入Blob存储器内的文件中。SCRIPT 38具有轮询线程,其拾取新操作程序文件并通过竖向标识符指引操作程序84。这允许新命令在运行时被运送。
另一个操作是测试。测试是相对于针对某个区域(例如美国或中国)的中央电子计算装置10的测试集群来进行的。开发者18暴露其API,其指向中央电子计算装置10、尤其是FIREMAN 24。开发者18定义进程断言并提供测试VIN(车辆身份号)以用于路由。开发者18按下用户界面12中的“运行测试”进行测试,并且呼叫暴露的API,引发端到端操作程序84,并伴随在进程事件完成时回拨至使用者的会话。
第四操作可以是中央电子计算装置10的操作程序84。FIREMAN 24具有通用命令端点,其全部是暴露的API点。中央电子计算装置10可以是带有Nginx入口路由器的Kubernetes群组,并且外部API被暴露。FIREMAN 24通过API上下文传递启动进程识别并识别作为命令类型的车辆身份号。FIREMAN 24呼叫VVR 26以确定机动车16的遥测控制单元(TCU)的类型。FIREMAN 24以该信息呼叫SCRIBE 30和CODER 28以取得操作程序84和将要使用的模板标识。FIREMAN 24捕获CACHE 44内的所述进程及其元数据。FIREMAN 24呼叫COAST32(Codex高级命令协议状态)上的InitAndEnqueue端点。COAST 32检查VIN服务特定队列以确定该命令是否允许多位使用者同时使用以及另一位使用者是否目前正在使用队列。如果存在使用者冲突,则COAST 32明确拒绝该命令并通知使用者。COAST 32以两种模式存在:API和用户。API生成事件中心,在此,COAST 32监听器拾取这些时间以便处置。事件包括初始化、排队、处理、等候、暂停和结束事件。在完成事件时,COAST 32读取队列中的下一命令以保证在任何时刻一个具体命令类型的一个命令正向机动车16传递。在发布事件时,COAST32向总线排队进程参考。SCRIPT 34消化来自总线的消息。在处理时,SCRIPT 34自CACHE 44获取该进程并且取来内存中的操作程序84和模板。操作程序编制框架处理该进程内的系列步骤。SendAtpCommand和SendAtpResponse步骤类型向SCRIPT 34指示停止处理并在服务总线中进行下一进程。SCRIPT 34呼叫COAST 32的API以在其开始处理命令时将进程状态从“已排队”更新至“在处理”,并在其继续移动时至“等候”。SCRIPT 34也在进程的最终步骤结束时更新该进程状态至“完成”,并且如果在处理过程中出现“错误”或“暂停”状态,则更新该进程状态至“错误”或“暂停”。
对于所有进程状态改变,COAST 32监听器向VEP 36公布事件,向中央电子计算装置10的任何使用者通知命令更新。在发送ATP命令和发送API应答时,SCRIPT 34经由PROTOSS 42(协议状态服务)发送串行二进制载荷连同所需元数据。PROTOSS 42生成车辆消息,分配交易ID并且呼叫OCG(对外通信网关),它可以是通信装置22,其将二进制消息经由移动网络操作者伙伴网络传送至车辆。交易ID与进程ID相关联以便随后参考。当收到初始命令时,车辆开放数据链接至后端并请求其需要的后续信息以完成交易。该请求经过MQTT或HTTP并且事件经过TPG(远程信息处理协议网关)。TPG使用服务ID标题的路由查找消息接收者。所有来自中央电子计算装置10的服务根植于PROTOSS 42。PROTOSS 42保持开放同步链接,并使用消息的交易ID以查找相关进程ID。PROTOSS 42写录车辆信息,连同其自身IP地址,至在CACHE 44中的进程变量组,以允许异步的操作程序84找到正确链接来回应车辆。在录写车辆消息后,PROTOSS 42向服务总线排队进程参考以允许SCRIPT 34重启命令处理。当SCRIPT 34收到重启进程参考时,SCRIPT 34从CACHE 44获取进程。SCRIPT 34使用模板类别来反串行二进制载荷到Java对象中,其接着串行例如JSON以用于变量随机存取。
SCRIPT 34利用请求数据制定对机动车16的应答。于是,SCRIPT 34反串行至Java模板类别,其接着串行入任意二进制载荷。SCRIPT 34使用应答有效载荷呼叫由回呼IP地址标识的PROTOSS 42,以保证应答被发送至正确的机动车16。整个命令操作程序84可能需要给机动车16的任意数量的消息,其将依次通过发送、暂缓处理、接收消息和重启处理这样的模式。在完成命令时,命令状态被最终确定,并且进程连同所有进程状态通过HTTP API被唤回以用于持久性或测试断言。
另一选项是晋级。利用所提供和测试的命令,开发者18可以晋级其命令至新级别和区域。初始级是针对某区域的中央电子计算装置10环境的测试。开发者18可以将远程命令从测试晋级至集成和最终至生产。该晋级机制简单地将地区/国家特定的串行操作程序84和模板类别移动至Blob存储位置,在那里本地化SCRIPT 34立即拾取它们。晋级后,开发者18可以选择为指定的区域和级别提供API以允许使用者呼叫作为服务的远程命令。所提供的这些API被计量以追踪使用者成本分配。
图2示出中央电子计算装置10的一个实施例的示意图,其中,中央电子计算装置10可以配置成执行根据如图1所示的在前方面的方法。所示的中央电子计算装置10不打算提出对应用范围或功能的任何限制,因为所述技术可以在各种不同的通用或专用的计算系统内实现。
参见图2,电子计算装置10可以包括一个或多个处理单元50、52和存储器54、56。处理单元50、52执行计算机可执行指令。处理单元可以是通用中央处理单元(CPU)、在专用集成电路(ASIC)中的处理器或任何其它类型的处理器。在多处理系统中,多个处理单元执行计算机可执行指令以提高处理能力。例如图2示出计算机处理单元50以及图形处理单元或共处理单元52。有形存储器54、56可以是易失存储器、非易失存储器或两者的组合,其可被处理单元50、52存取。存储器54、56所存储的呈适于由处理单元50、52执行的计算机可执行指令形式的软件58实现本文所述的一种或多种技术。
中央电子计算装置10可以具有附加特征。例如中央电子计算装置10包括存储器60、一个或多个输入设备62、一个或多个输出设备64和一个或多个通信装置22。未被示出的互连机构例如总线、控制器或网络将中央电子计算装置10的组成部件互连。一般地,也未被示出的运算系统软件提供运算环境给在中央电子计算装置10内执行的其它软件,并且协调中央电子计算装置10的组成部件的动作。
有形存储器60可以是可移除的或不可移除的并且包括磁盘、磁带或磁带盒、CD-ROM、DVD或可被用于以非暂时方式存储信息且可由计算装置10访问的任何其它介质。存储器60存储用于实现本文所述的一种或多种技术的软件58的命令。
输入设备62可以是触摸式输入设备如键盘、鼠标、笔或轨迹球、声音输入设备、扫描仪或提供输入至计算系统的其它装置。为了视频编码,输入设备62可以是摄像头、视频卡、TV调谐器卡或接收呈模拟或数字形式的视频输入的类似装置或者将视频样本读入计算系统200的CD-ROM或CD-RW。输出设备64可以是显示器、打印机、扬声器、CD刻录机或提供来自计算系统的输出的其它设备。
通信装置22允许通过通信介质与另一计算实体的通信。通信介质传送信息例如计算机可执行指令、声频或视频输入或输出或在调制数据信号中的其它数据。调制数据信号是如下信息,其所具有的一个或多个特性被设定或改变以编码该信号内的信息。举例而非限制性地,通信媒体可以采用电、光、RF或其它载体。
术语“系统”和“机器”在此可互换使用。除非上下文明确指明,否则任一术语都未暗示对计算系统或计算机的类型的限制。通常,计算系统或计算机可以是本地的或分布式并且可以包括专用硬件和/或通用硬件与实现本文所述的功能的软件的任何组合。
为了说明,详细描述采用了像“确定”和“使用”这样达到术语来描述在计算系统内的计算机操作。这些术语是用于由计算机进行的运算的高级抽象,不应该与由人类所做的动作混淆。对应于这些术语的实际计算机操作依据实现方式而变。
该技术可以在计算机可执行指令例如像包含在程序模块并在计算系统内在目标实或虚处理器上执行中的那些的总体背景中来描述。通常,程序模块包含例程、程序、库、对象、类别、组成部分、数据结构等,其执行特定任务或实现特定的抽象数据类型。程序模块的功能可以根据需要在各不同实施例中组合或在程序模块之间划分。用于程序模块的计算机可执行指令可以在本地或分布式计算机系统内执行。
图3示出根据中央电子计算装置10的一个实施例的示意图。中央电子计算装置10可以配置作为包括云计算服务66的云计算环境。云计算服务66可以包括各种类型的云计算资源例如计算机服务、数据存储库、网络资源等。云计算服务66可以居于中央,例如由商务或机构的数据中心提供,或者是分布式的,例如由位于不同所在地点的各不同计算资源例如位于不同城市或国家的不同的数据中心提供。
云计算服务66可被各种类型的客户采用。例如云计算服务66可被机动车16例如轿车、卡车和/或其它类型车辆和/或机动车16的各不同组成部件例如导航组成部件、娱乐组成部件、安全组成部件、车辆控制组成部件或其它组成部件采用。云计算服务66也可以被计算装置68,例如台式电脑、笔记本电脑、平板电脑、智能手机和/或其它类型的计算装置采用。云计算服务66也可以被其它类型设备70例如物联网设备使用。
例如各不同类型的客户可使用云计算服务66来执行计算操作,例如发消息、数据处理、数据存储等。
虽然按照特定次序描述了某些所披露的方法的操作以方便说明,但应该理解这种描述方式包含重排,除非下述的具体语言要求特定排序。例如,依次描述的操作可以在某些情况下被重排或同时进行。此外,为了简单起见,附图不一定示出可与其它方法结合使用所披露的方法的各不同方式。
任一所披露的方法能以存储在一种或多种计算机可读存储介质上且在计算装置(即,任何可获得的计算装置,包含智能手机或其它包括计算硬件的移动设备)上执行的计算机可执行指令或计算机程序产品的形式实现。计算机可读存储介质是可以在计算环境(一个或多个光学介质盘例如DVD或CD、易失存储器(例如DRAM或SRAM)或非易失存储器(例如闪存器或硬驱))内访问的有形媒体。举例并且参照图2地,计算机可读存储介质包含记忆器54和56和存储器60。术语“计算机可读存储介质”不包含信号和载波。另外,术语“计算机可读存储介质”不包含通信连接例如270。
用于实现所披露的技术的任一计算机可执行指令以及在实现所披露的实施例期间所创建和使用的任何数据可被存储在一个或多个计算机可读存储介质上。计算机可执行指令例如可以是专用软件应用程序或者可通过网络浏览器存取或下载的软件应用程序或其它软件应用程序(例如远程计算应用程序)的一部分。这样的软件可以例如在单台本地计算机(如任何合适的可商业购得的计算机)上或在使用一台或多台网络计算机的网络环境(例如通过互联网、广域网、局域网、客户-服务器网(例如云计算网络)或其它这样的网络)中执行。
为了清楚起见,仅描述基于软件的实现方式的某些所选方案。在现有技术中众所周知的其它细节被省掉。例如应该理解的是,所披露的技术不限于任何具体计算机语言或程序。例如,所披露的技术可以通过按照C++、Java、Perl或任何其它合适编程语言所写的软件来实现。同样,所披露的技术不限于任何特定的计算机或特定类型软件。合适的计算机和硬件的某些细节是众所周知的并且不需要在本文中详加叙述。
此外,任一基于软件的实施例(例如包括用于使计算机执行任一所述方法的计算机可执行指令)可以通过合适的通信手段被上传、下载或远程访问。这样的合适的通信手段例如包含互联网、万维网、内联网、软件应用程序、缆线(包含光纤缆)、磁通信、电磁通信(包含RF、微波和红外通信)、电子通信或其它这样的通信手段。
所披露的方法、设备和系统绝不应该被解读为限制性的。相反,本文针对的是所有所披露的各不同实施例的单独的和在各不同的相互组合和子组合中的新颖且非显而易见的特征和方面。所披露的方法、设备和系统既不限于特征或其组合的任何具体方案,所披露的实施例不要求提出任何一个或多个具体优势或解决问题。
来自任一例子的技术可以与在任意一个或多个其它例子中所描述的技术组合。鉴于有许多可采用所披露的技术原理的可能实施例,故应该认识到所示的实施例是所披露的技术的例子,而不应该被认为是对所披露的技术的范围的限制。相反,所述技术的范围包含由以下权利要求书的范围和精神所涵盖的范围。
图4A-4D示出根据一个实施例的用户界面12的例子。根据图4A,用户界面12包括检索线72,开发者18可借此检索不同的操作程序84。图4A示出处于不同的开发级的不同的操作程序84。在第一级74,操作程序84可以处于设计。在第二级76,操作程序84可以处于测试。在第四级80,操作程序84可以处于集成阶段,其中在第三级78,操作程序84可以处于生产阶段。另外,用户界面12可以包括清单82,其中该开发者18可以在项目块、构建块和晋级块之间选择。图4A在此实施例中示出项目块。
图4B示出清单82的晋级块。操作程序84名字被示出。也可以除了操作程序84的名字外还示出对应操作程序84处于何级。所述级可以包括进一步的第五级86,其可以描述生产前阶段。如箭头所示出的所述级可以根据操作程序84处于何级改变颜色。用户界面12可以包括功能框88,其中不同的功能被提供给开发者18。所述功能可以包括:选择命令操作程序84;准备测试;命令参数,上下文;测试设定;断言定义;失效指标,运行测试;可选测试报告;预测性失效;API管理。此外,根据图4B的用户界面可以示出操作程序84的其它名字并示出操作程序84所处的不同级。
图4C的实施例示出清单82的构建块。按键90被示出,其中开发者18可以创建新的操作程序84。示出了三个标签,其中在总标签108处,开发者18可创建操作程序84名称和说明94。在模板标签92中,开发者18可以创建一个模板。在用于操作程序84的标签中,开发者18可以创建操作程序84。此外,用户界面可包括存储键96、取消键98和下一步键100。
图4D示出根据图4C的模板标签92。在块102中,开发者18可以上传模板。开发者18可以拖拉上传信息至块102中。用户界面12可以包括块104,其中开发者可以在此块104中创建模板。在块106中可以呈现已存在的模板的清单和/或开发者已创建的模板的清单。
Claims (10)
1.一种通过中央电子计算装置(10)开发用于机动车(16)的远程命令数据包(14)的方法,其中,该中央电子计算装置(10)在该中央电子计算装置(10)的用户界面(12)中提供多个模板,其中,单个模板定义至少一个广义车辆命令,其中,该远程命令数据包(14)的开发者(18)通过使用该用户界面(12)提供定义用于所述远程命令数据包(14)的逻辑的操作程序(84),其中,该开发者(18)通过使用所述多个模板中的至少一个模板提供该操作程序(84),并且该中央电子计算装置(10)依据所用的模板将该操作程序(84)转换为车辆命令。
2.根据权利要求1所述的方法,其特征是,所述至少一个模板是由该开发者(18)使用该用户界面(12)来开发的。
3.根据权利要求1或2所述的方法,其特征是,该车辆命令是抽象车辆命令。
4.根据权利要求1至3中任一项所述的方法,其特征是,该中央电子计算装置(10)是无服务器云计算平台。
5.根据权利要求1至4中任一项所述的方法,其特征是,该中央电子计算装置(10)包括用于与所述机动车(16)通信的通信装置(22),并且该远程命令数据包(14)通过该通信装置(22)被传输给该机动车(16)。
6.根据权利要求1至5中任一项所述的方法,其特征是,所开发的操作程序(84)和/或所开发的模板通过该中央电子计算装置(10)的测试单元被测试。
7.根据权利要求5和6所述的方法,其特征是,依据经过测试的操作程序(84),经过测试的远程命令数据包(14)被传输给该机动车(16)。
8.根据权利要求1至7中任一项所述的方法,其特征是,该中央电子计算装置(10)依据该机动车(16)的表征参数提供所述至少一个模板。
9.一种计算机可读存储介质,其存储有计算机可执行指令,计算机可执行指令用于使中央电子计算装置(10)根据权利要求1至8中任一项所述的方法执行操作。
10.一种中央电子计算装置(10),其具有至少一个用户界面(12)和一种根据权利要求9所述的计算机可读存储介质,其中,该中央电子计算装置(10)被配置用于执行根据权利要求1至8中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962874901P | 2019-07-16 | 2019-07-16 | |
US62/874,901 | 2019-07-16 | ||
PCT/EP2020/069842 WO2021009152A1 (en) | 2019-07-16 | 2020-07-14 | A method for developing a remote command data package for a motor vehicle by a central electronic computing device, as well as a central electronic computing device |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114127683A true CN114127683A (zh) | 2022-03-01 |
Family
ID=74210321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080051516.2A Pending CN114127683A (zh) | 2019-07-16 | 2020-07-14 | 通过中央电子计算装置开发用于机动车的远程命令数据包的方法以及中央电子计算装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220266849A1 (zh) |
EP (1) | EP3977262A1 (zh) |
CN (1) | CN114127683A (zh) |
WO (1) | WO2021009152A1 (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10338895B2 (en) * | 2015-06-08 | 2019-07-02 | Cisco Technology, Inc. | Integrated developer environment for internet of things applications |
DE102016220670A1 (de) * | 2015-11-06 | 2017-05-11 | Ford Global Technologies, Llc | Verfahren und System zum Testen von Software für autonome Fahrzeuge |
US10603980B2 (en) * | 2017-09-14 | 2020-03-31 | Lin Yu | Vehicle interior environment control |
US20220156665A1 (en) * | 2018-01-26 | 2022-05-19 | Above Daas, Inc. | Systems and methods for orchestrating agents |
US20200301679A1 (en) * | 2018-08-09 | 2020-09-24 | Snapiot Inc | System for creating mobile and web applications from a graphical workflow specification |
US10642715B1 (en) * | 2019-02-21 | 2020-05-05 | Cyberark Software Ltd. | Dynamic authorization of requested actions using adaptive context-based matching |
US11372626B2 (en) * | 2019-08-07 | 2022-06-28 | Jpmorgan Chase Bank, N.A. | Method and system for packaging infrastructure as code |
-
2020
- 2020-07-14 CN CN202080051516.2A patent/CN114127683A/zh active Pending
- 2020-07-14 US US17/627,180 patent/US20220266849A1/en active Pending
- 2020-07-14 WO PCT/EP2020/069842 patent/WO2021009152A1/en unknown
- 2020-07-14 EP EP20740606.7A patent/EP3977262A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220266849A1 (en) | 2022-08-25 |
WO2021009152A1 (en) | 2021-01-21 |
EP3977262A1 (en) | 2022-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190155721A1 (en) | Automated integration testing with mock microservices | |
US8271609B2 (en) | Dynamic service invocation and service adaptation in BPEL SOA process | |
US7673029B2 (en) | Grid automation bus to integrate management frameworks for dynamic grid management | |
US7756905B2 (en) | System and method for building mixed mode execution environment for component applications | |
TWI313417B (en) | Dynamic wizard interface system and method | |
US10067863B1 (en) | Feature targeting of test automation lab machines | |
US10430172B2 (en) | Re-configuration in cloud computing environments | |
CN110658794B (zh) | 一种制造执行系统 | |
US20120233589A1 (en) | Software development kit for blended services | |
US11036522B2 (en) | Remote component loader | |
CN108319552A (zh) | 一种埋点测试方法,装置及系统 | |
CN110647332A (zh) | 基于容器云的软件部署方法和装置 | |
US10608953B2 (en) | Platform with multiple execution engines | |
US20160011864A1 (en) | Development of Platform Independent Applications | |
US20130198333A1 (en) | Method and device for recording and reproducing web operation | |
CN101662463A (zh) | 为用户定制服务流程的装置和方法 | |
CN111818194A (zh) | 基于域名的访问系统和方法 | |
CN114647485A (zh) | 机器人过程自动化(rpa)机器人的动态云部署 | |
US10216504B2 (en) | System and method for insulating a web user interface application from underlying technologies in an integration cloud service | |
US20190205182A1 (en) | Unified monitoring interface | |
CN114127683A (zh) | 通过中央电子计算装置开发用于机动车的远程命令数据包的方法以及中央电子计算装置 | |
US20160308991A1 (en) | Analytics system architecture | |
US20210397482A1 (en) | Methods and systems for building predictive data models | |
JP5251197B2 (ja) | メッセージ処理方法、メッセージ処理装置、及びプログラム | |
US20240152504A1 (en) | Data interaction method, apparatus, and electronic device |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Stuttgart, Germany Applicant after: Mercedes Benz Group Co.,Ltd. Address before: Stuttgart, Germany Applicant before: DAIMLER AG |