自动驾驶软件安装包的生成方法、装置和电子设备与流程

文档序号:31708845发布日期:2022-10-01 13:50阅读:125来源:国知局
自动驾驶软件安装包的生成方法、装置和电子设备与流程

1.本公开涉及人工智能领域,尤其涉及自动驾驶技术领域。具体涉及一种自动驾驶软件安装包的生成方法、装置和电子设备。


背景技术:

2.随着人们对车辆的智能化程度的追求越来越高,车企更新换代的速度越来越快。车企每更新一款车型,通常需要开发一款与车型相匹配的应用程序,由于所述应用程序中具有对车辆中部件的控制逻辑,因此,通过将应用程序刷入车辆的硬件平台,即可使得车辆中的部件执行所述应用程序中的控制逻辑,以实现车辆的智能化。


技术实现要素:

3.本公开提供了一种自动驾驶软件安装包的生成方法、装置和电子设备。
4.根据本公开的第一方面,提供了一种自动驾驶软件安装包的生成方法,应用于软件框架,所述软件框架包括业务层和硬件层,所述业务层预先配置有目标应用中的功能模块,所述硬件层包括至少两个硬件平台的软件开发工具包,所述方法包括:
5.接收对所述业务层中的功能模块的配置信息,其中,所述配置信息包括所述目标应用所需部署的硬件平台的标识信息;
6.利用所述标识信息在所述硬件层获取目标软件开发工具包,所述目标软件开发工具包为所述标识信息所指示的硬件平台的软件开发工具包;
7.利用所述目标软件开发包对所述配置信息进行编译,得到所述目标应用的软件安装包。
8.根据本公开的第二方面,提供了一种自动驾驶软件安装包的生成装置,所述自动驾驶软件安装包的生成装置包括业务层和硬件层,所述业务层预先配置有目标应用中的功能模块,所述硬件层包括至少两个硬件平台的软件开发工具包,所述自动驾驶软件安装包的生成装置包括:
9.接收单元,用于接收对所述业务层中的功能模块的配置信息,其中,所述配置信息包括所述目标应用所需部署的硬件平台的标识信息;
10.获取单元,用于利用所述标识信息在所述硬件层获取目标软件开发工具包,所述目标软件开发工具包为所述标识信息所指示的硬件平台的软件开发工具包;
11.编译单元,用于利用所述目标软件开发包对所述配置信息进行编译,得到所述目标应用的软件安装包。
12.根据本公开的第三方面,提供了一种电子设备,包括:
13.至少一个处理器;以及
14.与所述至少一个处理器通信连接的存储器;其中,
15.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述第一方面所述的方法。
16.根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述第一方面所述的方法。
17.根据本公开的第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现第一方面所述的方法。
18.本公开实施例中,由于硬件层包括至少两个硬件平台的软件开发工具包,因此,当需要生成目标应用在某一硬件平台的软件安装包时,仅需在业务层输入相应地的配置信息,由于所述配置信息包括硬件平台的标识信息,如此,后续框架可以基于该标识信息获取该硬件平台的软件开发工具包,并利用该硬件平台的软件开发工具包对所接收到的配置信息进行编译,以得到该硬件平台的软件开发工具包。也即采用本公开实施例的方法,可以利用同一套框架产出应用于不同硬件平台的软件安装包,有利于提高软件安装包产出的效率。
附图说明
19.附图用于更好地理解本方案,不构成对本公开的限定。其中:
20.图1是本公开实施例提供的一种自动驾驶软件安装包的生成方法的流程图;
21.图2是本公开实施例中软件框架的示意图;
22.图3是本公开实施例中存在区别的功能模块的示意图;
23.图4是本公开实施例提供的一种自动驾驶软件安装包的生成装置的结构示意图;
24.图5本公开实施例提供的用于实现自动驾驶软件安装包的生成方法的电子设备的框图。
具体实施方式
25.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
26.请参见图1,为本公开实施例提供的一种自动驾驶软件安装包的生成方法的流程示意图,所述软件安装包的生成方法应用于软件框架,所述软件框架包括业务层和硬件层,其中,由于所述软件框架部署于电子设备,即所述自动驾驶软件安装包的生成方法可以应用于电子设备,所述业务层预先配置有目标应用中的功能模块,所述硬件层包括至少两个硬件平台的软件开发工具包(software development kit,sdk),所述方法包括以下步骤:
27.步骤s101、接收对所述业务层中的功能模块的配置信息,其中,所述配置信息包括所述目标应用所需部署的硬件平台的标识信息;
28.步骤s102、利用所述标识信息在所述硬件层获取目标软件开发工具包,所述目标软件开发工具包为所述标识信息所指示的硬件平台的软件开发工具包;
29.步骤s103、利用所述目标软件开发包对所述配置信息进行编译,得到所述目标应用的软件安装包。
30.其中,所述软件安装包为自动驾驶车辆软件安装包,电子设备中可以预先部署用于生成所述软件安装包的软件框架,所述软件框架包括所述业务层和所述硬件层。例如,请
参见图2,在本公开一个实施例中,当所述目标应用为用于部署于车辆的硬件平台的系统应用时,所述业务层具体可以分为应用层和为所述应用层提供服务的服务层。其中,所述应用层至少可以包括如下功能模块:状态机、顶层状态机、故障诊断、人机界面(human machine interface,hml)引擎、任务管理、地图管理、运营设计域(operational design domain,odd)管理、车位管理等。所述服务层可以至少可以包括如下功能模块:云车通信、决策规划、环境建模、车辆控制、感知、定位建图、数据源和图片编解码等。
31.可以理解的是,当需要生成所述软件安装包时,相关人员可以直接通过所述电子设备,在对应的功能模块输入所述配置信息。然后,通过部署于所述电子设备中的相关程序调用相应地的软件开发工具包对所述配置信息进行编译,以得到所述软件安装包。
32.其中,可以采用场景的持续集成流水线调用相应地的软件开发工具包,以及,通过所述持续集成流水线利用所述软件开发工具包对所述配置信息进行编译,以得到所述软件安装包。所述持续集成流水线可以为ci.yaml持续集成流水线。
33.上述标识信息可以以宏定义的形式进行标记。例如,可以通过编译时的宏定义,以区分不同的平台,从而实现所述软件框架可以兼容不同的硬件平台。
34.请参见图2,所述硬件层具体可以包括硬件和底层软件,所述底层软件可以包括:系统级芯片(system on chip,soc)和微控制单元(microcontroller unit,mcu),其中,所述soc可以用于实现所述目标应用中的逻辑,所述mcu可以用于对车辆中的部件的动作进行控制。
35.相关技术中,由于应用于车辆的硬件平台的种类较为丰富,例如,常见的硬件平台包括:五仁平台、四喜平台、双四喜平台、三鲜平台等。而不同的车辆生产厂家所采用的硬件平台可能不同,此外,同一厂家的不同车型也可能采用不同的硬件平台。由于不同硬件平台实现同一功能的逻辑可能不同,因此,当需要针对不同平台开发同一目标应用时,相关技术中通常需要针对不同平台分别进行软件开发,如此,将导致软件开发周期过长,同时,开发软件所需投入的开发和测试成本也将相应提高。
36.基于此,本公开实施例中,通过在电子设备上部署可以兼容不同硬件平台的软件框架,如此,仅需在软件框架中修改不同平台的配置信息,即可产出不同平台的软件安装包。也即可以复用软件框架,有利于缩短软件开发的周期,同时,有利于节省软件开发的成本。
37.上述软件安装包的生成方法可支持havp,avp,pavp等业务需求。
38.该实施方式中,由于硬件层包括至少两个硬件平台的软件开发工具包,因此,当需要生成目标应用在某一硬件平台的软件安装包时,仅需在业务层输入相应地的配置信息,由于所述配置信息包括硬件平台的标识信息,如此,后续框架可以基于该标识信息获取该硬件平台的软件开发工具包,并利用该硬件平台的软件开发工具包对所接收到的配置信息进行编译,以得到该硬件平台的软件开发工具包。也即采用本公开实施例的方法,可以利用同一套框架产出应用于不同硬件平台的软件安装包,有利于提高软件安装包产出的效率。
39.可选地,所述业务层包括服务层,所述功能模块包括配置于所述服务层中的第一子功能模块,所述第一子功能模块包括至少两个编译选项,所述至少两个编译选项与所述至少两个硬件平台一一对应;
40.所述配置信息包括第一配置信息,所述第一配置信息为所述第一子功能模块的配
置信息,所述第一配置信息包括所述至少两个编译选项中被选中的目标编译选项,所述目标编译选项形成所述标识信息;
41.其中,所述目标编译选项用于在所述配置信息中加载所述目标编译选项所对应的硬件平台的配置信息,或者,所述目标编译选项用于编译所述目标编译选项所对应的硬件平台的代码。
42.请参见图2,所述服务层至少可以包括如下第一子功能模块:云车通信、决策规划、环境建模、车辆控制、感知、定位建图、数据源和图片编解码等。
43.具体地,所述目标编译选项可以用于在所述配置信息中加载所述目标编译选项所对应的硬件平台的配置信息,例如,所述感知模块是通过编译选项来安装不同平台的配置文件。此外,所述目标编译选项还可以用于编译所述目标编译选项所对应的硬件平台的代码,例如,定位模块可以通过编译选项编译不同平台的代码。
44.可以理解的是,上述目标编译选项为相关人员在输入所述配置信息时,在所述至少两个编译选项中选定的编译选项。
45.该实施方式中,相关人员在通过所述电子设备的软件框架中输入上述配置信息时,可以通过所述编译选项选择所述目标应用所需部署的硬件平台。如此,后续在对所述配置信息进行编译时,可以基于所述编译选项确定对应的软件开发工具包进行编译。
46.可选地,所述目标应用为用于安装于车辆的硬件平台中的系统应用,所述业务层包括应用层,所述功能模块包括配置于所述应用层中的第二子功能模块;
47.所述配置信息包括第二配置信息,所述第二配置信息为所述第二子功能模块的配置信息,所述第二配置信息包括至少两个子配置信息,所述至少两个子配置信息与至少两个车型一一对应;
48.其中,在所述目标应用部署于目标车辆,且所述第二子功能模块接收到启动指令的情况下,所述第二子功能模块加载与所述目标车辆的车型相对应的子配置信息。
49.请参见图2,所述应用层至少可以包括如下第二子功能模块:状态机、顶层状态机、故障诊断、hml引擎、任务管理、地图管理、odd管理、车位管理等。
50.针对采用同一硬件平台的不同车型,所述目标应用中具体的功能模块的配置参数可能不同。例如,在泊车厂景中,收库过程中需要向驾驶员展示车位数量,而不同车型所要求的车位数量可能不同,因此,可以在所述车位管理模块存储不同车型的配置信息。这样,在所述车位管理模块运行时,可以获取当前车辆的车型id,然后,基于所述车型id确定对应的子配置信息,然后,基于所确定的子配置信息,实现对应车型的车位管理功能。
51.该实施方式中,由于所述第二配置信息中包括与至少两个车型一一对应的至少两个子配置信息,因此,同一个软件安装包可以应用于不同的车型。相关于相关技术中需要针对不同车型分别生成对应的软件安装包而言,采用本公开实施例中的方法仅需进行一次开发,即可得到多个车型的软件安装包的产出,有利于进一步缩短应用开发的周期,同时,可以进一步降低应用开发的成本。
52.可选地,所述功能模块还包括配置于所述应用层中的第三子功能模块;
53.所述配置信息包括第三配置信息,所述第三配置信息为所述第三子功能模块的配置信息,所述第三配置信息包括至少两个类,所述至少两个类与至少两个车型一一对应;
54.其中,在所述目标应用部署于目标车辆,且所述第三子功能模块接收到启动指令
的情况下,所述第三子功能模块实例化与所述目标车辆的车型相对应的类。
55.可以理解的是,上述第二子功能模块和所述第三子功能模块可以是所述应用层中的任意两个不同的功能模块。所述第三子功能模块与所述第二子功能模块运行过程中的区别在于,所述第三子功能模块通过实例化与车型相对应的类,以实现与车型相对应的功能;而所述第二功能模块通过调用与车型相对应的子配置信息,以实现与车型相对应的功能。
56.该实施方式中,由于所述第三配置信息中包括与至少两个车型一一对应的至少两个类,因此,同一个软件安装包可以应用于不同的车型。相关于相关技术中需要针对不同车型分别生成对应的软件安装包而言,采用本公开实施例中的方法仅需进行一次开发,即可得到多个车型的软件安装包的产出,有利于进一步缩短应用开发的周期,同时,可以进一步降低应用开发的成本。
57.可选地,所述功能模块包括第三功能模块,所述第三功能模块包括初始配置信息,所述接收对所述业务层中的功能模块的配置信息,包括:
58.在接收到对所述初始配置信息的修改输入的情况下,将所述修改输入修改后的配置信息确定为所述第三功能模块的配置信息;
59.在未接收到对所述初始配置信息的修改输入的情况下,将所述初始配置信息确定为所述第三功能模块的配置信息。
60.其中,所述第三功能模块可以是所述应用层和服务层中的任意功能模块。具体地,在本公开一个实施例中,所述应用层和服务层中的每个功能模块均包括初始配置信息。可以理解的是,不同功能模块的初始配置信息不同。
61.具体地,所述初始配置信息可以是上一次生成所述目标应用的配置信息。这样,当某些功能模块相对于上一次生成目标应用不存在更新时,可以直接将该功能模块的初始配置信息确定为本次生成目标应用的配置信息,从而实现配置信息的复用。相应地,当某些功能模块相对于上一次生成目标应用存在更新时,可以仅修改该功能模块的配置信息中存在区别的代码,而不存在区别的代码也可以直接复用。
62.请参见图3,本公开实施例中,通过对不同类型的车辆的配置信息进行分析,分析结果表征不同车型配置信息存在区别的功能模块主要包括:控制模块、信号管理模块、hmi模块、系统工程模块、传感器适配模块、感知模块和定位建图模块。而这些功能模块存在区别的配置参数如图3中箭头所指示的参数,例如,所述控制模块存在区别的配置参数包括:线控性能参数、控制接口参数、执行器数据采集层参数、性能测试与参数调优参数、仿真车辆模型建立参数。可以理解的是,除了这些存在区别的参数之外,上述模块中的其他配置参数可以复用。
63.可以理解的是,除了上述存在区别的功能模块之外,其他未列举的功能模块为可配置参数可复用的功能模块。例如,状态机、故障诊断等模块的配置参数可复用。
64.该实施方式中,通过使所述业务层中的功能模块包括初始配置信息,如此,在生成所述软件安装包的过程中仅需修改存在更新的部分配置信息,即可以复用不存在更新的配置信息,如此,可以加快车辆适配的速度,从而进一步缩短应用的开发周期。
65.可选地,所述电子设备还包括调度层,所述调度层位于所述业务层与所述硬件层之间,且所述调度层包括标准化接口,所述标准化接口与所述至少两个不同的硬件平台兼容,所述利用所述标识信息在所述硬件层获取目标软件开发工具包,包括:
66.基于所述调度层的所述标准化接口,利用所述标识信息在所述硬件层获取目标软件开发工具包。
67.可以理解的是,所述ci.yaml持续集成流水线还可以基于所述调度层的所述标准化接口获取所述业务层的配置信息。
68.具体地,请参见图2,所述pavaro1.0为第一代标准化接口,所述pavaro2.0为第二代标准化接口,所述软件框架可以兼容所述pavaro1.0和pavaro2.0。且所述pavaro2.0支持跨机通信,从而实现跨机无感。
69.该实施方式中,通过使调度层包括标准化接口,这样,使得本公开中的软件框架可以兼容不同的硬件平台,且能够实现跨机无感。
70.请参见图2,本公开一个实施例提供的软件安装包的生成方法的一个具体流程可以是:当需要同时为第一车厂、第二车厂、第三车厂和第四车厂生产所述目标应用的软件安装包时,可以先基于图3对所述第一车厂存在区别的配置参数进行适配,然后,将适配得到的存在区别的配置信息以修改的方式填入所述应用层和服务层,由ci.yaml持续集成流水线调用相应地的sdk进行编译,即可得到第一车厂的产出。同理,按照上述方法,可以依次得到第一车厂、第二车厂、第三车厂和第四车厂的产出。
71.本公开提供的方法可以应用于无人自主泊车avp、自主学习泊车havp和pavp高精地图泊车功能的量产过程。本公开实施例中,通过软件标准化,实现了一个主线支持多车型和多平台的目的,相应地,交付层面也需要一套标准的流程来指导快速交付。基于此,本公开实施例通过门梳理标准化交付流程,如图3所示,适配流程主要包括系统工程等六个模块的适配,将车型适配时间从1个月降低到1周,极大提高项目交付速度,保障各项目的交付节点。
72.请参见图4,为本公开实施例提供的自动驾驶软件安装包的生成装置400的结构示意图,所述自动驾驶软件安装包的生成装置400包括业务层和硬件层,所述业务层预先配置有目标应用中的功能模块,所述硬件层包括至少两个硬件平台的软件开发工具包,所述自动驾驶软件安装包的生成装置400包括:
73.接收单元401,用于接收对所述业务层中的功能模块的配置信息,其中,所述配置信息包括所述目标应用所需部署的硬件平台的标识信息;
74.获取单元402,用于利用所述标识信息在所述硬件层获取目标软件开发工具包,所述目标软件开发工具包为所述标识信息所指示的硬件平台的软件开发工具包;
75.编译单元403,用于利用所述目标软件开发包对所述配置信息进行编译,得到所述目标应用的软件安装包。
76.可选地,所述业务层包括服务层,所述功能模块包括配置于所述服务层中的第一子功能模块,所述第一子功能模块包括至少两个编译选项,所述至少两个编译选项与所述至少两个硬件平台一一对应;
77.所述配置信息包括第一配置信息,所述第一配置信息为所述第一子功能模块的配置信息,所述第一配置信息包括所述至少两个编译选项中被选中的目标编译选项,所述目标编译选项形成所述标识信息;
78.其中,所述目标编译选项用于在所述配置信息中加载所述目标编译选项所对应的硬件平台的配置信息,或者,所述目标编译选项用于编译所述目标编译选项所对应的硬件
平台的代码。
79.可选地,所述目标应用为用于安装于车辆的硬件平台中的系统应用,所述业务层包括应用层,所述功能模块包括配置于所述应用层中的第二子功能模块;
80.所述配置信息包括第二配置信息,所述第二配置信息为所述第二子功能模块的配置信息,所述第二配置信息包括至少两个子配置信息,所述至少两个子配置信息与至少两个车型一一对应;
81.其中,在所述目标应用部署于目标车辆,且所述第二子功能模块接收到启动指令的情况下,所述第二子功能模块加载与所述目标车辆的车型相对应的子配置信息。
82.可选地,所述功能模块还包括配置于所述应用层中的第三子功能模块;
83.所述配置信息包括第三配置信息,所述第三配置信息为所述第三子功能模块的配置信息,所述第三配置信息包括至少两个类,所述至少两个类与至少两个车型一一对应;
84.其中,在所述目标应用部署于目标车辆,且所述第三子功能模块接收到启动指令的情况下,所述第三子功能模块实例化与所述目标车辆的车型相对应的类。
85.可选地,所述功能模块包括第三功能模块,所述第三功能模块包括初始配置信息,所述接收对所述业务层中的功能模块的配置信息,包括:
86.在接收到对所述初始配置信息的修改输入的情况下,将所述修改输入修改后的配置信息确定为所述第三功能模块的配置信息;
87.在未接收到对所述初始配置信息的修改输入的情况下,将所述初始配置信息确定为所述第三功能模块的配置信息。
88.可选地,所述自动驾驶软件安装包的生成装置400还包括调度层,所述调度层位于所述业务层与所述硬件层之间,且所述调度层包括标准化接口,所述标准化接口与所述至少两个不同的硬件平台兼容,所述获取单元402,具体用于基于所述调度层的所述标准化接口,利用所述标识信息在所述硬件层获取目标软件开发工具包。
89.需要说明地,本实施例提供的自动驾驶软件安装包的生成装置400能够实现上述软件安装包的生成方法实施例的全部技术方案,因此至少能够实现上述全部技术效果,此处不再赘述。
90.本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
91.根据本公开的实施例,本公开还提供了另一种电子设备、一种可读存储介质和一种计算机程序产品。
92.图5示出了可以用来实施本公开的实施例的示例电子设备500的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
93.如图5所示,电子设备500包括计算单元501,其可以根据存储在只读存储器(rom)502中的计算机程序或者从存储单元508加载到随机访问存储器(ram)503中的计算机程序,来执行各种适当的动作和处理。在ram 503中,还可存储设备500操作所需的各种程序和数
据。计算单元501、rom 502以及ram 503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。
94.电子设备500中的多个部件连接至i/o接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
95.计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理,例如自动驾驶软件安装包的生成方法。例如,在一些实施例中,自动驾驶软件安装包的生成方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由rom 502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序加载到ram 503并由计算单元501执行时,执行上文描述的自动驾驶软件安装包的生成方法的一个或多个步骤。备选地,在其他实施例中,计算单元501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行自动驾驶软件安装包的生成方法。
96.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
97.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
98.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
99.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机
具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
100.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
101.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
102.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
103.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1