发明内容
本发明实施例的目的在于提供一种业务调度方法、车载业务处理系统、电子设备及存储介质,以实现对多个业务应用中的各个业务能力进行统一的调度管理。具体技术方案如下:
在本发明实施的一个方面,提供了一种业务调度方法,应用于车载业务处理系统,所述车载业务处理系统安装有多个业务应用;所述方法包括:
判断当前场景状态是否符合预设场景剧本中的业务触发条件,所述场景剧本包含业务触发条件、该业务触发条件下需要调用的多个目标业务能力及各个目标业务能力的调用顺序;所述业务触发条件包括:时间触发条件、位置触发条件或车辆运行状态触发条件;
若当前场景状态符合预设场景剧本中的业务触发条件,则基于预存的业务能力与业务应用的对应关系,确定每个目标业务能力对应的目标业务应用;
按照所述各个目标业务能力的调用顺序,通过预设的能力执行接口,依次调用各个目标业务应用中各个目标能力对应的功能。
本发明的一种实施方式中,所述各个业务应用中均配置有业务能力协议,每个业务应用的业务能力协议包含:该业务应用包含的至少一个业务能力及每个业务能力的输入参数和输出参数;
所述预设的业务能力与业务应用的对应关系,采用如下步骤预先获得:
所述车载业务处理系统启动时,扫描各个业务应用的配置信息,获得每个业务应用的业务能力协议;
针对每个业务应用,将其业务能力协议中的每个业务能力及其输入参数和输出参数与该业务应用对应保存。
本发明的一种实施方式中,所述预设场景剧本中还包括第一个目标业务能力的输入参数的参数值;
所述按照所述各个目标业务能力的调用顺序,通过预设的能力执行接口,依次调用各个目标业务应用中各个目标业务能力对应的功能的步骤,包括:
基于所述第一个目标业务能力的输入参数的参数值,调用第一个目标业务应用中所述第一个目标业务能力对应的功能,获得第一个目标业务应用的业务输出参数的参数值并保存;
基于下一个目标业务能力的输入参数,和已保存的输出参数的参数值,构建下一个目标业务能力的输入参数的参数值;
基于下一个目标业务能力的输入参数的参数值,调用下一个目标业务应用中目标业务能力对应的功能,获得下一个业务输出参数的参数值并保存;
若预设场景剧本中有未调用的下一个目标业务能力,则返回所述基于下一个目标业务能力的输入参数,和已保存的业务输出参数的参数值,构建下一个目标业务能力对应的业务输入参数的参数值的步骤。
本发明的一种实施方式中,所述的基于下一个目标业务能力的输入参数,和已保存的输出参数的参数值,构建下一个目标业务能力的输入参数的参数值的步骤,包括:
从已保存的输出参数的参数值中,提取下一个目标业务能力的业务输入参数的参数值。
本发明的一种实施方式中,所述预设场景剧本,采用如下步骤设置:
所述车载业务处理系统启动后,接收用户通过交互界面输入的场景剧本的触发条件参数的参数值,以及场景剧本中第一个目标业务能力的输入参数的参数值;
基于预设的场景剧本模板和输入的场景剧本的触发条件参数,以及场景剧本中第一个目标业务能力的输入参数的参数值,生成预设场景剧本;或,
获得用户的行程信息;
基于预设的场景剧本模板,从所述行程信息中提取场景剧本的触发条件参数,以及场景剧本中第一个目标业务能力的输入参数的参数值;
基于预设的场景剧本模板和输入的场景剧本的触发条件参数,以及场景剧本中第一个目标业务能力的输入参数的参数值,生成预设场景剧本。
本发明的一种实施方式中,所述各个业务应用中业务能力协议,采用如下步骤预先配置:
通过所述预设能力执行接口,从各个业务应用的配置信息中,获取其包含的所有业务能力及每个业务能力的输入参数和输出参数;
按预设的业务能力协议的格式,为每个业务应用生成其包含的所有业务能力及每个业务能力的输入参数和输出参数的业务能力协议;
通过所述预设能力执行接口,将每个业务应用的业务能力协议作为该业务应用的一种配置信息,添加到该业务应用的安装包内。
本发明的一种实施方式中,在所述判断当前场景状态是否符合预设场景剧本中的业务触发条件的步骤之前,所述方法还包括:
读取所述预设场景剧本中的多个目标业务能力;
基于预存的业务能力与业务应用的对应关系,和所述预设场景剧本中的多个目标业务能力,对所述预设场景剧本进行校验;
若校验通过,则执行所述判断当前场景状态是否符合预设场景剧本中的业务触发条件的步骤。
在本发明实施的又一方面,还提供了一种车载业务处理系统,所述系统包括能力调度中心、能力库、能力执行接口和多个业务应用;
所述能力调度中心,用于判断当前场景状态是否符合预设场景剧本中的业务触发条件,所述场景剧本包含业务触发条件、该业务触发条件下需要调用的多个目标业务能力及各个目标业务能力的调用顺序;所述业务触发条件包括:时间触发条件、位置触发条件或车辆运行状态触发条件;
若当前场景状态符合预设场景剧本中的业务触发条件,则基于预存的业务能力与业务应用的对应关系,确定每个目标业务能力对应的目标业务应用;
按照所述各个目标业务能力的调用顺序,通过预设的能力执行接口,依次调用各个目标业务应用中各个目标能力对应的功能;
所述能力库,用于存储所述业务能力与业务应用的对应关系
在本发明实施的又一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的业务调度方法步骤。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的业务调度方法步骤。
本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的业务调度方法。
本发明实施例有益效果:
本发明实施例提供的业务调度方法,应用于车载业务处理系统,首先,判断当前的场景状态是否符合预设的场景剧本中的触发条件,预设的场景剧本中除包含相应的触发条件外,还包含需要调用的目标业务能力以及各目标业务能力的调用顺序,若当前场景状态符合预设场景剧本的触发条件,则根据目标业务能力确定目标业务应用,再根据目标业务能力的调用顺序,通过预设的能力执行接口,依次调用各目标业务应用中的目标能力。采用本发明实施例提供的业务调度方法,按照预设的场景剧本来依次调度各目标业务能力,通过预设能力执行接口对目标能力对应的目标业务应用的统一调用,实现了业务集中整合和按需合理调度,即实现了对多个业务应用中的各个业务能力进行统一的调度管理。
进一步的,与现有技术中不同的业务应用之间需要配置不同的通信协议,会导致系统资源开销大的情况相比,应用本发明实施例,通过能力执行接口调用不同业务能力,不需要针对不同的业务应用配置不同的通信协议,能够减少系统资源开销。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员基于本申请所获得的所有其他实施例,都属于本发明保护的范围。
为了实现对多个业务应用中的各个业务能力进行统一的调度管理,本发明实施例提供了一种业务调度方法、车载业务处理系统、电子设备及存储介质。
下面首先介绍本发明实施例提供的业务调度方法。
如图1所示,图1为本发明实施例提供的业务调度方法的一种流程图,可以应用于车载业务处理系统,所述车载业务处理系统安装了多个业务应用,具体步骤可以包括:
步骤101,判断当前场景状态是否符合预设场景剧本中的业务触发条件,所述场景剧本包含业务触发条件、该业务触发条件下需要调用的多个目标业务能力及各个目标业务能力的调用顺序;所述业务触发条件包括:时间触发条件、位置触发条件或车辆运行状态触发条件;
步骤102,若当前场景状态符合预设场景剧本中的业务触发条件,则基于预存的业务能力与业务应用的对应关系,确定每个目标业务能力对应的目标业务应用;
步骤103,按照所述各个目标业务能力的调用顺序,通过预设的能力执行接口,依次调用各个目标业务应用中各个目标能力对应的功能。
本发明实施例提供的业务调度方法,应用于车载业务处理系统,首先,判断当前的场景状态是否符合预设的场景剧本中的触发条件,预设的场景剧本中除包含相应的触发条件外,还包含需要调用的目标业务能力以及各目标业务能力的调用顺序,若当前场景状态符合预设场景剧本的触发条件,则根据目标业务能力确定目标业务应用,再根据目标业务能力的调用顺序,通过预设的能力执行接口,依次调用各目标业务应用中的目标能力。采用本发明实施例提供的业务调度方法,按照预设的场景剧本来依次调度各目标业务能力,通过预设能力执行接口对目标能力对应的目标业务应用的统一调用,实现了业务集中整合和按需合理调度,即实现了对多个业务应用中的各个业务能力进行统一的调度管理。
进一步的,与现有技术中不同的业务应用之间需要配置不同的通信协议,会导致系统资源开销大的情况相比,应用本发明实施例,通过能力执行接口调用不同业务能力,不需要针对不同的业务应用配置不同的通信协议,能够减少系统资源开销。
本发明实施例可以预先针对不同场景设置不同的场景剧本,不同的场景剧本可以有不同的业务触发条件,如可以包括:时间触发条件、位置触发条件或车辆运行状态触发条件。
例如,可以设置出差场景剧本,该场景剧本的触发条件就可以是时间触发条件。具体的,用户可以预先设置出差日程,如具体的出差日期以及出差的目的地,用户启动车辆后,检测出当前时间到了用户设置的出差日期,即符合了时间触发条件,就可以触发出差场景剧本。其剧本中的内容可以是首先自动帮车主规划到达目的地的导航路线,并为用户播报用户所在地、目的地的天气状况,或沿途地点的天气情况,若当前用户所在地的天气是雨天的话,可以启动多媒体播放器来为用户播放适合雨天听的音乐,或提示用户关闭车窗。用户设置出差日程,可以是直接通过车辆上的显示屏进行输入,也可以通过语音输入,也可以是用户在手机中设置,车辆可以从预设的人车交互服务器中获取用户设置的日程数据,此处不作具体限定。
再如,可以预设高速场景剧本,该场景剧本的触发条件就可以是位置触发条件,例如:位置触发条件为高速公路,则当检测到车辆在高速公路上行驶时触发。该剧本中的内容可以是提醒用户关闭车窗,或是控制车辆关闭车窗,并打开多媒体设备来播放音乐。
再如,可以预设倒车场景剧本,该场景剧本的触发条件就可以是车辆运行状态条件,例如:车辆运行状态条件为倒车状态,则可以是检测到用户开始倒车时触发剧本。该剧本的内容可以是,为用户打开倒车影像功能,若用户与后车距离低于预设阈值,则进行语音播报或发出提示音提醒用户注意与后车距离,或者直接控制车辆制动。
作为一种具体实施方式,上述多个场景剧本可以由车载业务处理系统服务商预先根据车辆中安装的各个业务应用的业务能力进行设置,上述业务能力即为业务应用可以实现的功能。设置好的场景剧本可以存储至场景云服务器中,并在车辆启动后,通过PNS(Positioning Navigation System,定位导航系统)下发至具体的车辆。
如上所述,场景剧本中需要包括触发场景剧本的条件,如出差的日期、车辆行驶的位置、车辆行驶的状态等,以及目标业务能力,如行程规划、预报天气、播放音乐、关闭车窗等,同时,还可以包含各目标业务能力的调用顺序,例如,对于上述举例中的出差场景剧本,在进行沿途天气播报时,需要先获取沿途地点的信息,而该信息是需要使用导航行程规划才能得到的,而基于天气播放歌曲时,需要先获取天气信息,而具体的天气信息是需要执行预报天气功能后才能获取的。因此,本例中,目标业务能力的顺序就是首先进行行程规划,再查询天气,之后再根据天气来播放音乐或关闭车窗等。
若达到上述场景剧本的业务触发条件,则可以根据场景剧本中包含的目标业务能力与业务应用的对应关系,来确定各目标业务能力对应的目标业务应用。
作为一种具体实施方式,各业务应用可以首先配置统一的业务能力协议,上述业务能力协议中可以包含各业务应用的包名、版本号,业务应用包含的业务能力以及各业务能力的输入输出参数。
如下表所示,表1中为部分业务应用的能力协议内容:
上述各业务应用的能力协议配置好后,可以将上述能力协议存储至对应业务应用的安装包内。
如上所述,通过预先配置统一的业务能力协议,使得与不同业务进行通信时不需要重新配置不同的通信协议,大大减少业务通讯时的性能消耗。
在用户用钥匙等启动车辆后,即车载业务处理系统启动后,上述车载业务处理系统可以获取上述各业务应用的能力协议,作为一种具体实施方式,可以是每次系统启动后,扫描车上各业务应用的配置信息,来获取上述能力协议。
获取上述能力协议后,可以对其进行解析来获取上述能力协议中的信息,并将上述业务能力ID、版本号、输入以及输出参数的对应关系进行存储,当达到场景剧本中的业务触发条件后,则基于目标业务能力确定目标业务能力ID,再基于上述对应关系得到目标业务能力ID对应版本号,由于版本号中包含业务应用的名称信息,因此可以确定具体的目标业务应用。
本发明实施例中,可以在每次系统启动后都进行能力协议的获取、解析,可以获取车辆中各业务应用最新、最实时的信息,可以很大程度上提高车载业务处理系统的处理能力。
确定上述目标业务应用后,就可以基于上述场景剧本中包含的目标业务能力的调用顺序,来调用目标业务应用的目标业务能力。
作为一种具体实施方式,在调用上述目标业务应用的目标业务能力时,可以通过预先集成的执行业务应用的业务能力的能力执行接口,该接口可以包含上述能力协议中包含的信息的类别,如业务能力编号、版本号、输入数据以及输出数据等。
作为一种具体实施方式,该能力执行接口可以是一个SDK(Software DevelopmentKit,软件开发工具包),并可以Jar(Java Archive,Java归档)的方式进行封装,该方式技术成本较低,可以极大降低整体的系统性能开销。
作为一种具体实施方式,上述场景剧本中还包括了该场景剧本中第一个目标业务能力的输入参数。例如,上述出差场景剧本是由用户预设的出差日程触发的,而用户的出差日程中包含了出差的日期以及出差目的地,上述出差场景剧本即可包括获取该目的地信息,作为第一个目标业务能力,即行程规划的输入参数的参数值。
相应的,在图1的基础上,如图2所示,图2为本发明实施例提供的业务调度方法的第二种流程图,在上述步骤102之后,具体可以包括以下步骤:
步骤203,基于所述第一个目标业务能力的输入参数的参数值,通过预设的能力执行接口,调用第一个目标业务应用中所述第一个目标业务能力对应的功能,获得第一个目标业务应用的业务输出参数的参数值并保存;
如上所述,场景剧本中包含了第一个目标业务能力的输入参数的参数值,所以可以将上述参数值作为第一个目标业务能力对应的目标业务应用的输入,来执行目标业务应用中相应的功能,来获取相应的输出参数的参数值,并将该输出参数值进行保存。
例如,对于上述出差场景剧本,将用户所在地以及目的地信息作为形成规划的输入,并调用导航,获取上述两地点之间的路线,上述路线包含途径的地点,如具体的城市或省份的地理位置,并将该输入信息进行存储。
步骤204,基于下一个目标业务能力的输入参数,和已保存的输出参数的参数值,构建下一个目标业务能力的输入参数的参数值;
基于上述出差场景剧本的例子,第一个目标业务能力输出了一系列地理位置信息。下一个需要调用的目标业务能力是查询天气,而通过上述表1可知,该业务能力的输入参数是地理位置,因此可以将上述导航输出的地理位置信息作为该能力的输入参数的参数值。
步骤205,基于下一个目标业务能力的输入参数的参数值,通过预设的能力执行接口,调用下一个目标业务应用中目标业务能力对应的功能,获得下一个业务输出参数的参数值并保存;
在执行完上述场景剧本中的第一个业务能力后,就可基于目标业务能力调用顺序调用下一个目标业务能力,并将上述构建的下一个业务输入参数的参数值作为下一个业务的输入。
例如,对于上述出差场景剧本,第二个需要调用的业务能力是查询天气,且之前已经基于导航的输出构建了天气的输入参数的参数值,则可以将该参数值作为输入,调用天气,来得到各地点具体的天气数据,并将该天气数据进行保存。
步骤206,判断预设场景剧本中是否有未调用的下一个目标业务能力,若预设场景剧本中有未调用的下一个目标业务能力,则返回执行上述步骤204。如果没有,则该场景剧本执行完毕,结束流程。
若场景剧本中还有未调用的下一个目标业务能力,则可以继续执行上述步骤204~步骤206。
对于上述例子,场景剧本中,在执行完查询天气功能后,还可以进行音乐播放,即该目标业务能力还没有被执行。由上表1可知,音乐播放对应的输入参数可以是天气数据,因此,可以将上述天气输出的具体地点的天气数据作为该目标业务能力的输入,并调用多媒体播放器进行音乐播放。
在执行音乐播放的业务能力时,已经预先保存了导航输出的地理位置信息、天气输出的天气数据,而由于音乐播放所对应的输入参数为天气数据,所以可以从已保存的各数据中提取出天气数据,来作为音乐播放功能的输入参数值。
作为一种本发明的一种具体实施方式,如图3所示,图3为本发明实施例提供的业务调度方法的第三种流程图,具体步骤可以包括:
步骤301,读取所述预设场景剧本中的多个目标业务能力;
步骤302,基于预存的业务能力与业务应用的对应关系,和所述预设场景剧本中的多个目标业务能力,对所述预设场景剧本进行校验;
步骤303,判断校验是否通过,若校验通过,则执行步骤304;
上述车载业务处理系统启动后,就可对下发至车辆的预设场景剧本中包含的目标业务能力进行读取。作为一种具体实施方式,可以是对上述预设场景剧本进行解析来获取其中包含的信息,如目标业务能力等。
因为各个业务预先都配置了统一的能力配置协议,且在车载系统启动后就可读取上述协议,并将业务应用包名、业务能力编号、版本号、输入以及输出参数的对应关系进行保存。因此,可以校验场景剧本中的目标业务能力的信息与保存的上述对应关系中的信息是否匹配,若匹配,则可执行步骤304。
步骤304,判断当前场景状态是否符合预设场景剧本中的业务触发条件,所述场景剧本包含业务触发条件、该业务触发条件下需要调用的多个目标业务能力及各个目标业务能力的调用顺序;所述业务触发条件包括:时间触发条件、位置触发条件或车辆运行状态触发条件;
步骤305,若当前场景状态符合预设场景剧本中的业务触发条件,则基于预存的业务能力与业务应用的对应关系,确定每个目标业务能力对应的目标业务应用;
步骤306,按照所述各个目标业务能力的调用顺序,通过预设的能力执行接口,依次调用各个目标业务应用中各个目标能力对应的功能。
上述步骤304~步骤306与上述步骤101~步骤103的实施方式相同,此处不再赘述。
本发明实施例中,可以采用多种方式进行场景剧本设置。
作为一种具体实施方式,如图4a所示,图4a为本发明实施例中场景剧本的一种设置流程图,具体步骤可以包括:
步骤A401,所述车载业务处理系统启动后,接收用户通过交互界面输入的场景剧本的触发条件参数的参数值,以及场景剧本中第一个目标业务能力的输入参数的参数值;
车载业务处理系统的服务商可以预设很多的场景剧本模板,在车载业务处理系统启动后,即处于可控状态时,用户可以通过交互界面输入场景剧本的触发条件以及第一个目标业务能力输入参数的参数值,上述服务商可以基于获取的用户输入的数据以及上述预设模板,生成具体的场景剧本下发至对应的车辆,如上所述,可以是通过PNS下发。上述交互界面可以是车载娱乐信息系统的屏幕中的设置界面。
步骤A402,基于预设的场景剧本模板和输入的场景剧本的触发条件参数,以及场景剧本中第一个目标业务能力的输入参数的参数值,生成预设场景剧本。
例如,设置上述出差场景剧本时,已经预设了出差场景剧本模板,该模板中包括了目标业务能力以及目标业务能力的调用顺序,以及待补充的触发条件信息以及第一个业务能力输入参数的参数值,即出差的日期和行程规划的输入参数的参数值,用户可以通过交互界面设置具体的出差日期以及目的地,即出差日程,上述服务商获取到该数据后就可针对该车辆生成完整的待执行的场景剧本。
作为另一种具体实施方式,如图4b所示,图4b为本发明实施例种场景剧本的第二种设置流程图,具体可以包括以下步骤:
B401,获得用户的行程信息;
B402,基于预设的场景剧本模板,从所述行程信息中提取场景剧本的触发条件参数,以及场景剧本中第一个目标业务能力的输入参数的参数值;
B403,基于预设的场景剧本模板和输入的场景剧本的触发条件参数,以及场景剧本中第一个目标业务能力的输入参数的参数值,生成预设场景剧本。
当然,对于上述举例,用户也可以直接在手机日历等应用中设置出差日程,并开放相应权限以使得车载业务处理系统的服务商,可以获取该日程信息。并从该日程信息中提取上述场景剧本模板中待补充的参数值。获取参数值后生成场景剧本的步骤与上述步骤A401~A402相同,此处不再赘述。
如上所述,通过预先配置不同的场景剧本,可以由车辆自主进行智能化操作,极大地提高了用户的体验感。
作为本发明的一种具体实施方式,如图5所示,图5为本发明实施例中业务能力协议的配置流程图;具体步骤可以包括:
步骤501,通过所述预设能力执行接口,从各个业务应用的配置信息中,获取其包含的所有业务能力及每个业务能力的输入参数和输出参数;
上述车载业务处理系统可以通过上述能力执行接口,向车辆上安装到的各业务应用发送信息获取请求,即向各业务发送配置方案,其中包括所需的信息种类,如,可以包括各业务应用的包名、版本、业务应用包含的业务能力以及各业务能力对应的输入、输出参数。
步骤502,按预设的业务能力协议的格式,为每个业务应用生成其包含的所有业务能力及每个业务能力的输入参数和输出参数的业务能力协议;
获取上述信息后,上述车载业务处理系统可以针对各业务应用,按照上述配置方案,将获取的各业务应用的信息序列化为统一格式的业务能力协议,上述配置方案可以是由开发人员设置,此处不作具体限定。在配置上述业务能力协议时,还可以为各业务能力设置不同的能力编号,即设置能力ID,用于区分不同的业务能力。
作为一种具体实施方式,可以是将获取到各业务应用的上述信息均序列化为YAML格式的能力协议,上述YAML格式是一种高可读性、易序列化的格式。
步骤503,通过所述预设能力执行接口,将每个业务应用的业务能力协议作为该业务应用的一种配置信息,添加到该业务应用的安装包内。
生成上述各业务应用的业务能力协议后,可以将其再通过上述能力执行接口下发至各业务应用,作为一种具体实施方式,可以是将上述业务能力协议存储至对应业务应用的安装包内。
基于与上述业务调度方法相同的技术构思,参见图6,本发明实施例还提供了一种车载业务处理系统,上述系统可以包括能力调度中心601、能力库602、能力执行接口603以及业务应用604,
上述能力调度中心601,用于判断当前场景状态是否符合预设场景剧本中的业务触发条件,所述场景剧本包含业务触发条件、该业务触发条件下需要调用的多个目标业务能力及各个目标业务能力的调用顺序;所述业务触发条件包括:时间触发条件、位置触发条件或车辆运行状态触发条件;
若当前场景状态符合预设场景剧本中的业务触发条件,则基于预存的业务能力与业务应用的对应关系,确定每个目标业务能力对应的目标业务应用604;
按照所述各个目标业务能力的调用顺序,通过上述能力执行接口603,依次调用各个目标业务应用中各个目标能力对应的功能;
上述能力库602,用于存储业务能力与业务应用的对应关系。
如上所述,上述能力执行接口可以是一个SDK(Software Development Kit,软件开发工具包),并可以以Jar(Java Archive,Java归档)的方式进行封装。
作为一种具体实施方式,基于图6,参见图7,图7为本发明实施例提供的车载业务处理系统的另一种结构示意图,上述车载业务处理系统还可以包括能力收集模块705,数据中心706,
上述能力收集模块705,用于所述车载业务处理系统启动时,扫描各个业务应用的配置信息,获得每个业务应用的业务能力协议;
针对每个业务应用,将其业务能力协议中的每个业务能力及其输入参数和输出参数与该业务应用对应保存至上述能力库602;
上述数据中心706,用于存储上述各目标业务能力的输入及输出参数的参数值。
作为一种具体实施方式,可以将上述能力调度中心601、能力库602、能力收集模块705、数据中心705作为场景引擎;上述能力执行接口603即为接口层;上述业务应用604即为业务应用层。
上述系统中各部分的具体实施过程已在前面的方法实施例中进行详细叙述,此处不再赘述。
作为一种具体实施方式,参见图8,图8本发明实施例提供的车载业务处理系统的一个实例的结构示意图;
在本发明的一种具体实施例中,上述预设场景剧本可以是上述出差场景剧本,相应的,如图8所示,上述业务应用可以包括导航、天气、多媒体播放器等等。
其中,能力收集模块805可以在系统启动后扫描业务应用导航、天气以及多媒体播放器,获取其对应的业务能力协议,存储至能力库802中。能力调度中心801可以获取预设的场景剧本,若当前的场景状态是该出差场景剧本的触发条件,则可将该场景剧本中的数据,如第一个业务能力的输入参数的参数值,存储至数据中心806,并将该参数值作为第一个业务能力,行程规划的输入,并由能力调度中心801通过能力执行接口803调度上述业务能力对应的业务应用,导航,并将执行结果反馈至数据中心806,即将行程规划的输出参数存储至数据中心,以构建下一个业务能力—天气查询的参数。执行查询天气以及音乐播放的过程与执行行程规划能力的过程相同,此处不再赘述。对本例来说,执行完音乐播放功能后,即可判断整个场景剧本执行完毕。
作为一种具体实施方式,如图9所示,图9为图8所示车载业务处理系统中进行能力执行的过程示意图;
业务应用可以配置能力协议905、在能力执行接口902调用能力时,进行能力解析904,进行最终能力执行903。
具体的,上述场景引擎901可以获取预设场景剧本,以及预配置的各业务应用的能力协议。在执行某业务能力时,上述场景引擎901可以通过能力执行接口902发送具体业务能力的调用请求,并将该业务能力输入参数的参数值作为输入值,业务应用在获取该调用请求后,即可解析该请求需要调用的能力,并执行其相应的业务能力,将执行的结果通过能力执行接口902反馈至场景引擎901。
作为一种具体实施方式,参见图10,图10为图8所示车载业务处理系统进行能力收集的过程示意图;
上述车载业务处理系统启动后,能力收集模块1001即可对业务应用1003中的各业务应用的能力协议进行扫描,并解析进行解析来获取业务应用的能力协议中的信息。
获取上述信息后,即可进行能力扩充,即将上述信息存储至能力库1002中,更新能力库中的能力信息。
作为一种具体实施方式,参见图11,图11为图9实施例中能力收集模块进行能力收集的具体过程示意图;
上述能力收集模块首先可以进行能力收集,如上所述,可以是扫描各业务应用的能力协议,再对各能力协议进行解析。作为一种具体实施方式,基于上述能力协议为YAML格式的例子,可以是使用对应的解析算法对其进行解析,来获取能力协议中的信息,包括业务能力ID、版本号、输入参数以及输出参数。
获取上述信息后,即可将上述信息进行细化,如将各业务能力、版本号、以及各业务能力的输入、输出参数的对应关系存储至能力库,由于版本号中包含各业务应用的名称,因此,也可以是将上述业务能力以及业务能力的输入、输出参数与业务应用的对应关系存储至能力库。
图12为图8所示车载业务处理系统中根据场景剧本进行能力执行的具体示例图;该场景剧本内容可以为自动帮助车主发起出差地导航规划,播报沿途城市当天天气状况,如果是雨天,则自动播放一首适合雨天听的歌曲。相应的,具体的执行过程可以是:
首先需要执行行程规划功能,因此去调用对应的业务应用导航,导航的执行结果即为具体的到上海的路线,包含了途径的城市的地理位置,将上述地理位置作为天气查询功能的输入参数值,调用相应的业务应用天气,获取各地点的天气数据,如雨天,再将该天气数据作为音乐播放的输入参数值,调用相应的业务应用多媒体播放器来播放适合雨天的音乐,在播放音乐时可以是播放音乐软件中含有关键词“雨”的歌曲歌单,此处不作具体限定。
如上所述,本发明实施例可以实现多个应用之间的数据共享,克服现有技术中当两个业务应用进行通信时,第三个应用不可以获取上述两个业务应用的数据的问题,实现了对多个业务应用中的各个业务能力进行统一的调度管理。
本发明实施例还提供了一种电子设备,如图13所示,包括处理器1301、通信接口1302、存储器1303和通信总线1304,其中,处理器1301,通信接口1302,存储器1303通过通信总线1304完成相互间的通信,
存储器1303,用于存放计算机程序;
处理器1301,用于执行存储器1303上所存放的程序时,实现如下步骤:
判断当前场景状态是否符合预设场景剧本中的业务触发条件,所述场景剧本包含业务触发条件、该业务触发条件下需要调用的多个目标业务能力及各个目标业务能力的调用顺序;所述业务触发条件包括:时间触发条件、位置触发条件或车辆运行状态触发条件;
若当前场景状态符合预设场景剧本中的业务触发条件,则基于预存的业务能力与业务应用的对应关系,确定每个目标业务能力对应的目标业务应用;
按照所述各个目标业务能力的调用顺序,通过预设的能力执行接口,依次调用各个目标业务应用中各个目标能力对应的功能。
本发明实施例提供的业务调度方法,应用于车载业务处理系统,首先,判断当前的场景状态是否符合预设的场景剧本中的触发条件,预设的场景剧本中除包含相应的触发条件外,还包含需要调用的目标业务能力以及各目标业务能力的调用顺序,若当前场景状态符合预设场景剧本的触发条件,则根据目标业务能力确定目标业务应用,再根据目标业务能力的调用顺序,通过预设能力执行接口,依次调用各目标业务应用中的目标能力。采用本发明实施例提供的业务调度方法,按照预设的场景剧本来依次调度各目标业务能力,通过预设能力执行接口对目标能力对应的目标业务应用的统一调用,实现了业务集中整合和按需合理调度,即实现了对多个业务应用中的各个业务能力进行统一的调度管理。
进一步的,与现有技术中不同的业务应用之间需要配置不同的通信协议,会导致系统资源开销大的情况相比,应用本发明实施例,通过能力执行接口调用不同业务能力,不需要针对不同的业务应用配置不同的通信协议,能够减少系统资源开销。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一业务调度方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一业务调度方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk (SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统、电子设备及存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。