CN116957117A - 车辆预约任务处理方法及装置 - Google Patents

车辆预约任务处理方法及装置 Download PDF

Info

Publication number
CN116957117A
CN116957117A CN202310907418.XA CN202310907418A CN116957117A CN 116957117 A CN116957117 A CN 116957117A CN 202310907418 A CN202310907418 A CN 202310907418A CN 116957117 A CN116957117 A CN 116957117A
Authority
CN
China
Prior art keywords
linked list
task
vehicle
reservation task
pointer linked
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
Application number
CN202310907418.XA
Other languages
English (en)
Inventor
杨振华
范海
汪星星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chongqing Selis Phoenix Intelligent Innovation Technology Co ltd
Original Assignee
Chongqing Seres New Energy Automobile Design Institute Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chongqing Seres New Energy Automobile Design Institute Co Ltd filed Critical Chongqing Seres New Energy Automobile Design Institute Co Ltd
Priority to CN202310907418.XA priority Critical patent/CN116957117A/zh
Publication of CN116957117A publication Critical patent/CN116957117A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请提供了一种车辆预约任务处理方法及装置,该方法包括:获取用户请求,用户请求为存储至少一个车辆预约任务的请求;根据用户请求,确定至少一个车辆预约任务的类型,车辆预约任务的类型包括非周期性预约任务和周期性预约任务;根据至少一个车辆预约任务的类型,确定用于存储至少一个车辆预约任务的多指针链表的配置信息;根据用于存储车辆预约任务的多指针链表的配置信息,创建至少一个多指针链表;根据至少一个车辆预约任务的类型和至少一个车辆预约任务的执行时间,将至少一个车辆预约任务存储在对应的至少一个多指针链表。本申请的技术方案可以根据预约任务动态创建多指针链表,该链表可以存储不同类型预约任务。

Description

车辆预约任务处理方法及装置
技术领域
本申请涉及车辆预约任务处理技术领域,尤其涉及一种车辆预约任务处理方法及装置。
背景技术
当前的新能源汽车都支持一些预约功能,如预约在晚上谷值时进行充电,以节约电费;预约在凌晨进行车辆OTA升级,不影响白天用车;预约上班前打开空调、座椅加热、香氛等,用户一上车就有一个良好的座舱空间。这些预约功能都是基于TBox设备上的一个RTC定时器实现的。用户停车后,车辆很快会进入休眠,以节约蓄电池的电量。休眠前设置一个最近的预约时间到RTC,超时后RTC唤醒车辆执行响应的预约功能。通常RTC一次只能设置一个时间,但是用户可能同时提交几个预约功能,此时就需要软件来辅助处理。一般是把用户设置的多个预约任务存储在一个数组里,然后把离当前最近的一个预约任务设置到RTC,RTC超时后执行预约任务,又把离当前最近的预约任务设置到RTC内,如此循环。
但是发明人在实现本申请的发明构思时发现相关技术中至少存在一下问题:由于不确定用户会设置几个预约任务,需要预设一个比较大的数组来存储预约任务,带来的问题是当用户的预约任务比较少时,数组空间是浪费的,当用户的预约任务大于数组空间时又预约失败,影响用户的体验。预约只能一次生效,无法预约一次循环生效。
发明内容
有鉴于此,本申请实施例提供了一种车辆预约任务处理方法及装置,以解决现有技术中数组空间过于固定不满足用户需求和不能设置循环预约任务的技术问题。
本申请实施例的第一方面,提供了一种车辆预约任务处理方法,包括:获取用户请求,用户请求为存储至少一个车辆预约任务的请求;根据用户请求,确定至少一个车辆预约任务的类型,该车辆预约任务的类型包括非周期性预约任务和周期性预约任务;根据至少一个车辆预约任务的类型,确定用于存储至少一个车辆预约任务的多指针链表的配置信息;根据用于存储车辆预约任务的多指针链表的配置信息,创建至少一个多指针链表;根据至少一个车辆预约任务的类型和至少一个车辆预约任务的执行时间,将至少一个车辆预约任务存储在对应的至少一个多指针链表。
本申请实施例的第二方面,提供了一种车辆预约任务处理装置,包括:获取模块,用于获取用户请求,用户请求为存储至少一个车辆预约任务的请求;第一确定模块,用于根据用户请求,确定至少一个车辆预约任务的类型,车辆预约任务的类型包括非周期性预约任务和周期性预约任务;第二确定模块,用于根据至少一个车辆预约任务的类型,确定用于存储至少一个车辆预约任务的多指针链表的配置信息;创建模块,用于根据用于存储车辆预约任务的多指针链表的配置信息,创建至少一个多指针链表;存储模块,用于根据至少一个车辆预约任务的类型和至少一个车辆预约任务的执行时间,将至少一个车辆预约任务存储在对应的至少一个多指针链表。
本申请实施例的第三方面,提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并且可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述方法的步骤。
本申请实施例的第四方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如上述方法的步骤。
本申请实施例与现有技术相比存在的有益效果至少包括:本申请实施例通过获取用户请求,该用户请求为存储至少一个车辆预约任务的请求,根据用户请求,确定至少一个车辆预约任务的类型,该车辆预约任务的类型包括非周期性预约任务和周期性预约任务,根据至少一个车辆预约任务的类型,确定用于存储至少一个车辆预约任务的多指针链表的配置信息,根据用于存储车辆预约任务的多指针链表的配置信息,创建至少一个多指针链表,根据至少一个车辆预约任务的类型和至少一个车辆预约任务的执行时间,将至少一个车辆预约任务存储在对应的至少一个多指针链表,以此方式可以根据预约任务动态创建多指针链表,该链表可以存储不同类型预约任务,这样用户可以设置循环的预约任务,从而克服相关技术中预约任务只能存储在固定空间的数组和无法设置循环预约任务的技术问题。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出了可以应用本申请实施例的技术方案的示例性系统架构的示意图;
图2是本申请实施例的一种车辆预约任务处理方法的流程图;
图3是本申请实施例的另一种车辆预约任务处理方法的流程图;
图4是本申请实施例的多指针链表的示意图;
图5是本申请实施例的一种车辆预约任务处理装置的框图;
图6是本申请实施例的一种电子设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
图1示出了可以应用本申请实施例的技术方案的示例性系统架构的示意图。
如图1所示,系统架构100可以包括第一终端设备101、第二终端设备102、第三终端设备103、网络104和车辆设备105。网络104用以在第一终端设备101、第二终端设备102、第三终端设备103和车辆设备105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
应该理解,图1中的终端设备、网络和车辆设备的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和车辆设备。
用户可以使用第一终端设备101、第二终端设备102、第三终端设备103通过网络104与车辆设备105进行交互,以接收或发送数据等。第一终端设备101、第二终端设备102、第三终端设备103可以是具有接收或发送数据的各种电子设备。在本实施例中,用户可以使用第一终端设备101、第二终端设备102、或第三终端设备103设置车辆预约任务,并通过网络104将设置的车辆预约任务发送至车辆设备105。当前,用户也可以在车辆设备105上直接手动设置车辆预约任务。
车辆设备105可以通过从第一终端设备101(也可以是第二终端设备102或第三终端设备103)获取用户请求,该用户请求为存储至少一个车辆预约任务的请求,根据用户请求,确定至少一个车辆预约任务的类型,车辆预约任务的类型包括非周期性预约任务和周期性预约任务,根据至少一个车辆预约任务的类型,确定用于存储至少一个车辆预约任务的多指针链表的配置信息,根据用于存储车辆预约任务的多指针链表的配置信息,创建至少一个多指针链表,根据至少一个车辆预约任务的类型和至少一个车辆预约任务的执行时间,将至少一个车辆预约任务存储在对应的至少一个多指针链表,以此方式可以根据预约任务动态创建多指针链表,该链表可以存储不同类型预约任务,这样用户可以设置循环的预约任务,从而克服相关技术中预约任务只能存储在固定空间的数组和无法设置循环预约任务的技术问题。
在一些实施例中,本申请实施例所提供的车辆预约任务处理方法一般由车辆设备105执行,相应地,车辆预约任务处理装置一般设置于车辆设备105中。
下面将结合附图详细说明根据本申请实施例的车辆预约任务处理方法和装置。
图2是本申请实施例的一种车辆预约任务处理方法的流程图,本申请实施例提供的方法可以由任意具备计算机处理能力的电子设备执行,例如图1所示的车辆设备。
如图2所示,车辆预约任务处理方法包括步骤S210至步骤S250。
在步骤S210中,获取用户请求,用户请求为存储至少一个车辆预约任务的请求。
在步骤S220中,根据用户请求,确定至少一个车辆预约任务的类型,车辆预约任务的类型包括非周期性预约任务和周期性预约任务。
在步骤S230中,根据至少一个车辆预约任务的类型,确定用于存储至少一个车辆预约任务的多指针链表的配置信息。
在步骤S240中,根据用于存储车辆预约任务的多指针链表的配置信息,创建至少一个多指针链表。
在步骤S250中,根据至少一个车辆预约任务的类型和至少一个车辆预约任务的执行时间,将至少一个车辆预约任务存储在对应的至少一个多指针链表。
该方法可以获取用户请求,该用户请求为存储至少一个车辆预约任务的请求,根据用户请求,确定至少一个车辆预约任务的类型,车辆预约任务的类型包括非周期性预约任务和周期性预约任务,根据至少一个车辆预约任务的类型,确定用于存储至少一个车辆预约任务的多指针链表的配置信息,根据用于存储车辆预约任务的多指针链表的配置信息,创建至少一个多指针链表,根据至少一个车辆预约任务的类型和至少一个车辆预约任务的执行时间,将至少一个车辆预约任务存储在对应的至少一个多指针链表,以此方式可以根据预约任务动态创建多指针链表,该链表可以存储不同类型预约任务,这样用户可以设置循环的预约任务,从而克服相关技术中预约任务只能存储在固定空间的数组和无法设置循环预约任务的技术问题。
在一些实施例中,上述用户请求可以是用户使用终端设备发起的,也可以是用户在车辆的车辆设备发起的。例如,用户通过终端设备设置车辆预约任务,然后向车辆的车辆设备发起和用户请求,用于存储在该终端设备设置的车辆预约任务。再例如,用户在车内通过车辆设备的屏幕手动设置车辆预约任务,以此发起用户请求,用于存储在车辆设备设置的车辆预约任务。
在一些实施例中,上述至少一个车辆预约任务可以包括非周期性预约任务和/或周期性预约任务。也就是说车辆预约任务的类型可以是非周期性和/或周期性。
在一些实施例中,根据至少一个车辆预约任务的类型,确定用于存储至少一个车辆预约任务的多指针链表的配置信息包括:当至少一个车辆预约任务的类型为非周期性预约任务时,确定用于存储非周期性预约任务的多指针链表的配置信息,配置信息包括多指针链表的个数和多指针链表的标识,多指针链表的个数为1;当至少一个车辆预约任务的类型为周期性预约任务时,确定用于存储周期性预约任务的多指针链表的配置信息,配置信息包括多指针链表的个数和多指针链表的标识,多指针链表的个数大于等于1;或者当至少一个车辆预约任务的类型为非周期性预约任务和周期性预约任务,确定用于存储非周期性预约任务的多指针链表的配置信息,配置信息包括多指针链表的个数和多指针链表的标识,多指针链表的个数为1,以及确定用于存储周期性预约任务的多指针链表的配置信息,配置信息包括多指针链表的个数和多指针链表的标识,多指针链表的个数大于等于1。
基于前述实施例,针对非周期性预约任务可以创建一个多指针链表。针对周期性预约任务可以创建至少一个多指针链表。根据非周期性预约任务的执行时间,在用于存储非周期性预约任务的多指针链表中动态创建节点,每个节点存储一个非周期性预约任务。根据周期性预约任务的执行时间,在用于存储周期性预约任务的至少一个多指针链表中动态创建节点,每个节点存储一个周期性预约任务。需要说明的是,针对用于存储非周期性预约任务的多指针链表,设置多指针链表的标识,在设置定时器的时间信息时,基于该标识可以获取到该多指针链表中每个节点存储的非周期性预约任务的执行时间。针对用于存储周期性预约任务的至少一个多指针链表,设置至少一个多指针链表的标识,在设置定时器的时间信息时,基于至少一个标识可以获取到对应多指针链表中每个节点存储的周期性预约任务的执行时间。
在一些实施例中,根据用于存储车辆预约任务的多指针链表的配置信息,创建至少一个多指针链表包括:根据多指针链表的个数和多指针链表的标识,创建一个用于存储非周期预约任务的多指针链表;根据多指针链表的个数和多指针链表的标识,创建至少一个用于存储周期预约任务的多指针链表;或者根据多指针链表的个数和多指针链表的标识,创建一个用于存储非周期预约任务的多指针链表,以及创建至少一个用于存储周期预约任务的多指针链表。
基于前述实施例,基于用于存储非周期性预约任务的多指针链表的标识创建一个多指针链表,用户设置的所有非周期预约任务都可以存储在该多指针链表中的不同节点。基于用于存储周期性预约任务的多指针链表的至少一个标识创建至少一个多指针链表,用户设置的所有周期预约任务分别可以存储在对应的多指针链表中的不同节点。
在一些实施例中,在将至少一个车辆预约任务存储在对应的至少一个多指针链表之前,方法包括:根据至少一个车辆预约任务,确认各个类型的车辆预约任务的个数;根据各个类型的车辆预约任务的个数,创建各个类型对应的多指针链表中用于存储对应预约任务的节点。
在一些实施例中,根据至少一个车辆预约任务的类型和至少一个车辆预约任务的执行时间,将至少一个车辆预约任务存储在对应的至少一个多指针链表包括:按照各个非周期性车辆预约任务的执行时间的顺序,将各个非周期性车辆预约任务存储在对应的多指针链表中的对应的节点;按照各个周期性车辆预约任务的执行时间的顺序,将各个周期性车辆预约任务存储在对应的多指针链表中的对应的节点;或者按照各个非周期性车辆预约任务的执行时间的顺序,将各个非周期性车辆预约任务存储在对应的多指针链表中的对应的节点,以及按照各个周期性车辆预约任务的执行时间的顺序,将各个周期性车辆预约任务存储在对应的多指针链表中的对应的节点。
基于前述实施例,例如,至少一个车辆预约任务中包含两个非周期性预约任务和三个周期性预约任务。其中三个周期性预约任务分别为每周一的预约任务、每周三的预约任务、每周的预约任务。针对两个非周期性预约任务在用于存储非周期性预约任务的多指针链表中创建两个节点,根据两个非周期性预约任务的执行时间的先后顺序将两个非周期性预约任务存储在对应的节点。针对三个周期性预约任务在对应的用于存储周期性预约任务的多指针链表中各创建一个节点,将三个周期性预约任务分别存储在对应多指针链表的对应节点。
参考图4,至少一个车辆预约任务包括非周期预约任务a、b、c、d和周期性预约任务A、B、C、D、E、F。其中,周期性预约任务A、B、C、D、E、F分别有多个执行时间。针对非周期预约任务创建一个多指针链表,在该链表中创建四个节点,根据非周期预约任务a、b、c、d的执行时间的先后顺序将其存储在对应节点,即多指针链表7用于存储非周期预约任务a、b、c、d。针对周期性预约任务A、B、C、D、E、F的执行时间创建7个多指针链表,即0到6多指针链表。根据周期性预约任务A、B、C、D、E、F的执行时间的先后顺序将其存储在0到6多指针链表中对应节点。各个多指针链表中的NULL表示结束,即在NULL之后没有节点,具体如图4所示。
基于前述实施例,本申请的方法可以采用多指针链表的方式同时支持单次预约任务和最大以N(可自定义)天为一个周期的循环预约任务。全局变量range用于设置循环周期的天数,例如可以根据获取的车辆预约任务的执行时间设置range,也可以默认range为7天,例如,多指针链表0到6分别存储周一到周日的循环预约任务(即周期性预约任务),链表7存储单次预约任务(即非周期性预约任务)。当预约周期为非行政日时,可通过调节range的大小来实现。如有些人工作2天休1天,不关注星期几,那么把range值设置为3即可。预约任务使用链表节点存储,节点在收到预约任务时动态创建,创建时根据执行时间的大小插入到链表内,从表头开始按时间顺序从小到大排序,任务执行完后删除。
参考图4,每个多指针链表可以包含链表头和链表节点。其中链表头的数据结构体如下表所示,每个表头占用8个字节,8个链表头占用64字节的空间。
不管是否有预约任务,这64字节为固定开销。
序号 变量 长度 说明
1 next 4字节 指向下一个任务节点的指针
2 count 4字节 当前链表的任务个数
链表节点用于存储预约任务,该预约任务的数据结构体如下表所示,每个任务节点占用20个字节。任务节点在用户下发预约任务时创建,任务执行完后删除,没有预约任务是不占用内存空间。由于任务节点是动态创建,预约任务的个数不受限制。
序号 变量 长度 说明
1 next 4字节 指向下一个任务节点的指针
2 tasklD 4字节 预约任务ID
3 timestamp 4字节 任务超时时间戳
4 param 4字节 回调函数的参数
5 function 4字节 回调函数的指针
在一些实施例中,方法还包括:获取多指针链表中各个车辆预约的执行时间;对各个车辆预约的执行时间进行排序,根据排序结果,设置车辆的定时器的时间信息;当一个车辆预约任务执行完成后,循环上述步骤。
基于前述实时例,例如默认range为7天,即有7个用于存储周期性预约任务的多指针链表,例如,0到6多指针链表。用户预约每周日、周一、周三循环执行任务A,TBox收到该任务后,按照时间戳由先后的规则把任务A插入到链表多指针0、1、3对应的节点。接着用户又新增了每周一、周二、周四的预约任务B,TBox收到该任务后,按照时间戳由先后的规则把任务B插入到多指针链表1、2、4对应的节点,由于任务B的执行时间比任务A的早,因此在多指针链表1中任务B排在任务A的前面,以此方式可以将周期性预约任务存储在0到6多指针链表的节点。
基于前述实施例,在任务执行中,TBox内只有一个RTC定时器,只有等当前的任务超时执行完后才把下一个任务的超时时间设置到RTC定时器内。比如今天是周一,假设当前任务B已经超时,那么下一个预约任务应该是A。在把任务A的超时时间设置到RTC定时器前,应先比较任务A和用于存储非周期性预约任务的多指针链表中非周期性预约任务的时间戳,哪个预约任务更早则先把其时间戳设置到RCT定时器内。
图3是本申请实施例的另一种车辆预约任务处理方法的流程图。
如图3所示,车辆预约任务处理方法包括步骤S310和步骤S320。
在步骤S310中,判断至少一个车辆预约任务中的预约事件个数是否大于1。
在步骤S320中,如果车辆预约任务中的预约事件个数大于1,根据该预约任务中各个预约事件和对应的执行时间对车辆预约任务进行任务分解,得到至少两个子预约任务,并根据至少两个子预约任务的类型和执行时间存储至对应的多指针链表。
该方法可以判断至少一个车辆预约任务中的预约事件个数是否大于1,如果车辆预约任务中的预约事件个数大于1,根据该预约任务中各个预约事件和对应的执行时间对车辆预约任务进行任务分解,得到至少两个子预约任务,并根据至少两个子预约任务的类型和执行时间存储至对应的多指针链表,以此方式可以灵活的将一个预约任务分解成多个子预约任务,从而满足用户需求,避免因没有分解而只执行一个预约任务给用户带来不佳的体验。
在一些实施例中,车辆预约任务中可以包含一个预约事件或多个预约事件。当车辆预约任务中的预约事件个数大于1,需要将该车辆预约任务分解成多个包含一个预约事件的子预约任务。例如,有些车辆预约任务是持续性任务,TBox需要把预约任务分解成多个子预约任务。如充电预约,为了防止过充给电池带来伤害,用户在预约充电时还会根据当前的电量预估要充电多少时间。比如用于预约明天凌晨1点开始充电,充电3小时结束,该预约任务包含两个预约事件,充电事件和结束充电事件,充电事件的执行时间为凌晨1点,结束充电事件的执行时间为凌晨4点。此时TBox收到这个预约任务后可以分解成2个子预约任务,一个是预约明天凌晨1点启动充电,另外一个是预约明天凌晨4点结束充电。以此方式根据各个预约事件和对应的执行时间可以灵活的将一个预约任务分解成多个子预约任务,从而满足用户需求,避免因没有分解而只执行一个预约任务给用户带来不佳的体验。而且采用多指针链表存储预约任务可以为TBox系统节约内存空间。
通过本申请提供的车辆预约任务处理方法,在用户设置车辆预约任务时,可以不受约束的提交预约任务,实现任意周期的循环预约,
图5是本申请实施例的一种车辆预约任务处理装置的框图。
如图5所示,车辆预约任务处理装置500包括获取模块510、第一确定模块520、第二确定模块530、创建模块540和存储模块550。
具体地,获取模块510,用于获取用户请求,用户请求为存储至少一个车辆预约任务的请求。
第一确定模块520,用于根据用户请求,确定至少一个车辆预约任务的类型,车辆预约任务的类型包括非周期性预约任务和周期性预约任务。
第二确定模块530,用于根据至少一个车辆预约任务的类型,确定用于存储至少一个车辆预约任务的多指针链表的配置信息。
创建模块540,用于根据用于存储车辆预约任务的多指针链表的配置信息,创建至少一个多指针链表。
存储模块550,用于根据至少一个车辆预约任务的类型和至少一个车辆预约任务的执行时间,将至少一个车辆预约任务存储在对应的至少一个多指针链表。
该车辆预约任务处理装置500可以获取用户请求,该用户请求为存储至少一个车辆预约任务的请求,根据用户请求,确定至少一个车辆预约任务的类型,车辆预约任务的类型包括非周期性预约任务和周期性预约任务,根据至少一个车辆预约任务的类型,确定用于存储至少一个车辆预约任务的多指针链表的配置信息,根据用于存储车辆预约任务的多指针链表的配置信息,创建至少一个多指针链表,根据至少一个车辆预约任务的类型和至少一个车辆预约任务的执行时间,将至少一个车辆预约任务存储在对应的至少一个多指针链表,以此方式可以根据预约任务动态创建多指针链表,该链表可以存储不同类型预约任务,这样用户可以设置循环的预约任务,从而克服相关技术中预约任务只能存储在固定空间的数组和无法设置循环预约任务的技术问题。
在一些实施例中,上述第二确定模块530被配置为:当至少一个车辆预约任务的类型为非周期性预约任务时,确定用于存储非周期性预约任务的多指针链表的配置信息,配置信息包括多指针链表的个数和多指针链表的标识,多指针链表的个数为1;当至少一个车辆预约任务的类型为周期性预约任务时,确定用于存储周期性预约任务的多指针链表的配置信息,配置信息包括多指针链表的个数和多指针链表的标识,多指针链表的个数大于等于1;或者当至少一个车辆预约任务的类型为非周期性预约任务和周期性预约任务,确定用于存储非周期性预约任务的多指针链表的配置信息,配置信息包括多指针链表的个数和多指针链表的标识,多指针链表的个数为1,以及确定用于存储周期性预约任务的多指针链表的配置信息,配置信息包括多指针链表的个数和多指针链表的标识,多指针链表的个数大于等于1。
在一些实施例中,上述创建模块540被配置为:根据多指针链表的个数和多指针链表的标识,创建一个用于存储非周期预约任务的多指针链表;根据多指针链表的个数和多指针链表的标识,创建至少一个用于存储周期预约任务的多指针链表;或者根据多指针链表的个数和多指针链表的标识,创建一个用于存储非周期预约任务的多指针链表,以及创建至少一个用于存储周期预约任务的多指针链表。
在一些实施例中,在将至少一个车辆预约任务存储在对应的至少一个多指针链表之前,上述车辆预约任务处理装置500还用于:根据至少一个车辆预约任务,确认各个类型的车辆预约任务的个数;根据各个类型的车辆预约任务的个数,创建各个类型对应的多指针链表中用于存储对应预约任务的节点。
在一些实施例中,上述存储模块550被配置为:按照各个非周期性车辆预约任务的执行时间的顺序,将各个非周期性车辆预约任务存储在对应的多指针链表中的对应的节点;按照各个周期性车辆预约任务的执行时间的顺序,将各个周期性车辆预约任务存储在对应的多指针链表中的对应的节点;或者按照各个非周期性车辆预约任务的执行时间的顺序,将各个非周期性车辆预约任务存储在对应的多指针链表中的对应的节点,以及按照各个周期性车辆预约任务的执行时间的顺序,将各个周期性车辆预约任务存储在对应的多指针链表中的对应的节点。
在一些实施例中,上述车辆预约任务处理装置500还用于:获取多指针链表中各个车辆预约的执行时间;对各个车辆预约的执行时间进行排序,根据排序结果,设置车辆的定时器的时间信息;当一个车辆预约任务执行完成后,循环上述步骤。
在一些实施例中,上述车辆预约任务处理装置500还用于:判断至少一个车辆预约任务中的预约事件个数是否大于1;如果车辆预约任务中的预约事件个数大于1,根据车辆预约任务中各个预约事件和对应的执行时间对车辆预约任务进行任务分解,得到至少两个子预约任务,并根据至少两个子预约任务的类型和执行时间存储至对应的多指针链表。
图6是本申请实施例的一种电子设备的结构示意图。
如图6所示,该实施例的电子设备600包括:处理器610、存储器620以及存储在该存储器620中并且可在处理器610上运行的计算机程序630。处理器610执行计算机程序630时实现上述各个方法实施例中的步骤。或者,处理器610执行计算机程序630时实现上述各装置实施例中各模块的功能。
电子设备600可以是安装在汽车的车辆设备。电子设备600可以包括但不仅限于处理器610和存储器620。本领域技术人员可以理解,图6仅仅是电子设备600的示例,并不构成对电子设备600的限定,可以包括比图示更多或更少的部件,或者不同的部件。
处理器610可以是中央处理单元(Central Processing Unit,CPU),也可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
存储器620可以是电子设备600的内部存储单元,例如,电子设备600的硬盘或内存。存储器620也可以是电子设备600的外部存储设备,例如,电子设备600上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。存储器620还可以既包括电子设备600的内部存储单元也包括外部存储设备。存储器620用于存储计算机程序以及电子设备所需的其它程序和数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在计算机可读存储介质中,该计算机程序在被处理器执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如,在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种车辆预约任务处理方法,其特征在于,包括:
获取用户请求,所述用户请求为存储至少一个所述车辆预约任务的请求;
根据所述用户请求,确定至少一个所述车辆预约任务的类型,所述车辆预约任务的类型包括非周期性预约任务和周期性预约任务;
根据至少一个所述车辆预约任务的类型,确定用于存储至少一个所述车辆预约任务的多指针链表的配置信息;
根据所述用于存储所述车辆预约任务的多指针链表的配置信息,创建所述至少一个多指针链表;
根据至少一个所述车辆预约任务的类型和至少一个所述车辆预约任务的执行时间,将至少一个所述车辆预约任务存储在对应的所述至少一个多指针链表。
2.根据权利要求1所述的方法,其特征在于,根据至少一个所述车辆预约任务的类型,确定用于存储至少一个所述车辆预约任务的多指针链表的配置信息包括:
当至少一个所述车辆预约任务的类型为非周期性预约任务时,确定用于存储所述非周期性预约任务的多指针链表的配置信息,所述配置信息包括多指针链表的个数和所述多指针链表的标识,所述多指针链表的个数为1;
当至少一个所述车辆预约任务的类型为周期性预约任务时,确定用于存储所述周期性预约任务的多指针链表的配置信息,所述配置信息包括多指针链表的个数和所述多指针链表的标识,所述多指针链表的个数大于等于1;或者
当至少一个所述车辆预约任务的类型为所述非周期性预约任务和所述周期性预约任务,确定用于存储所述非周期性预约任务的多指针链表的配置信息,所述配置信息包括多指针链表的个数和所述多指针链表的标识,所述多指针链表的个数为1,以及确定用于存储所述周期性预约任务的多指针链表的配置信息,所述配置信息包括多指针链表的个数和所述多指针链表的标识,所述多指针链表的个数大于等于1。
3.根据权利要求2所述的方法,其特征在于,根据所述用于存储所述车辆预约任务的多指针链表的配置信息,创建所述至少一个多指针链表包括:
根据所述多指针链表的个数和所述多指针链表的标识,创建一个用于存储非周期预约任务的多指针链表;
根据所述多指针链表的个数和所述多指针链表的标识,创建至少一个用于存储周期预约任务的多指针链表;或者
根据所述多指针链表的个数和所述多指针链表的标识,创建一个所述用于存储非周期预约任务的多指针链表,以及创建至少一个所述用于存储周期预约任务的多指针链表。
4.根据权利要求1所述的方法,其特征在于,在将至少一个所述车辆预约任务存储在对应的所述至少一个多指针链表之前,所述方法包括:
根据至少一个所述车辆预约任务,确认各个类型的车辆预约任务的个数;
根据各个类型的车辆预约任务的个数,创建各个类型对应的多指针链表中用于存储对应预约任务的节点。
5.根据权利要求4所述的方法,其特征在于,根据至少一个所述车辆预约任务的类型和至少一个所述车辆预约任务的执行时间,将至少一个所述车辆预约任务存储在对应的所述至少一个多指针链表包括:
按照各个非周期性车辆预约任务的执行时间的顺序,将各个非周期性车辆预约任务存储在对应的多指针链表中的对应的节点;
按照各个周期性车辆预约任务的执行时间的顺序,将各个周期性车辆预约任务存储在对应的多指针链表中的对应的节点;或者
按照各个非周期性车辆预约任务的执行时间的顺序,将各个非周期性车辆预约任务存储在对应的多指针链表中的对应的节点,以及按照各个周期性车辆预约任务的执行时间的顺序,将各个周期性车辆预约任务存储在对应的多指针链表中的对应的节点。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述多指针链表中各个所述车辆预约的执行时间;
对各个所述车辆预约的执行时间进行排序,根据排序结果,设置所述车辆的定时器的时间信息;
当一个所述车辆预约任务执行完成后,循环上述步骤。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
判断至少一个所述车辆预约任务中的预约事件个数是否大于1;
如果所述车辆预约任务中的预约事件个数大于1,根据所述车辆预约任务中各个预约事件和对应的执行时间对该车辆预约任务进行任务分解,得到至少两个子预约任务,并根据所述至少两个子预约任务的类型和执行时间存储至对应的多指针链表。
8.一种车辆预约任务处理装置,其特征在于,包括:
获取模块,用于获取用户请求,所述用户请求为存储至少一个所述车辆预约任务的请求;
第一确定模块,用于根据所述用户请求,确定至少一个所述车辆预约任务的类型,所述车辆预约任务的类型包括非周期性预约任务和周期性预约任务;
第二确定模块,用于根据至少一个所述车辆预约任务的类型,确定用于存储至少一个所述车辆预约任务的多指针链表的配置信息;
创建模块,用于根据所述用于存储所述车辆预约任务的多指针链表的配置信息,创建所述至少一个多指针链表;
存储模块,用于根据至少一个所述车辆预约任务的类型和至少一个所述车辆预约任务的执行时间,将至少一个所述车辆预约任务存储在对应的所述至少一个多指针链表。
9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并且可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的方法。
CN202310907418.XA 2023-07-21 2023-07-21 车辆预约任务处理方法及装置 Pending CN116957117A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310907418.XA CN116957117A (zh) 2023-07-21 2023-07-21 车辆预约任务处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310907418.XA CN116957117A (zh) 2023-07-21 2023-07-21 车辆预约任务处理方法及装置

Publications (1)

Publication Number Publication Date
CN116957117A true CN116957117A (zh) 2023-10-27

Family

ID=88452377

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310907418.XA Pending CN116957117A (zh) 2023-07-21 2023-07-21 车辆预约任务处理方法及装置

Country Status (1)

Country Link
CN (1) CN116957117A (zh)

Similar Documents

Publication Publication Date Title
CN107959640B (zh) 网络业务调度方法及装置
CN110071338B (zh) 汽车预约充电方法、tbox、计算机可读存储介质与充电系统
CN108469725B (zh) 时钟校时方法及终端设备
DE60317058T2 (de) Verfahren und system zur optimierung von leistungsbetriebsmitteln in drahtlosen einrichtungen
CN109951890B (zh) 一种数据通信方法、中继节点、终端节点及通信系统
CN111506398B (zh) 任务调度方法和装置、存储介质、电子装置
US20230256857A1 (en) Method and device for timing scheduled charging, and terminal equipment
CN116957117A (zh) 车辆预约任务处理方法及装置
CN111291035B (zh) 一种对数据进行切片的方法、装置及相关产品
CN113194339A (zh) 直播榜单生成方法、装置、电子设备和可读存储介质
CN115837855A (zh) 充电桩输出功率控制方法、装置、充电桩和存储介质
CN111277624A (zh) 车载器以及车辆信息收集系统
CN108601098B (zh) 双卡终端的网络制式的识别方法和装置
CN106714258B (zh) 一种信道切换方法及装置
CN113110850B (zh) 车辆升级方法、装置、设备、车辆及存储介质
CN115934130A (zh) 一种ecu升级方法、装置、设备及介质
CN111913796B (zh) 离线系统延时调度时间间隔的生成方法和延时调度方法
CN111935199B (zh) 一种车载软件版本信息同步方法、装置、系统及车辆
CN110362575B (zh) 一种生成数据的全局索引的方法及装置
CN114786243A (zh) 参考信号传输时机有效性的指示方法和用户设备
CN117783731B (zh) 商用车供用电系统健康状态监测方法、装置及终端
CN115081233B (zh) 一种流程仿真方法及电子设备
CN117032764B (zh) 一种基于mqtt协议的车辆ota任务调度方法
US9847919B2 (en) Data network device discovery optimization to reduce data transfer volume
CN109068353B (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20240118

Address after: No. 13 Xingxiang Road, Zengjia Town, High tech Zone, Shapingba District, Chongqing, 400039

Applicant after: Chongqing Selis Phoenix Intelligent Innovation Technology Co.,Ltd.

Address before: 401120 No. 618 Liangjiang Avenue, Longxing Town, Yubei District, Chongqing City

Applicant before: Chongqing Celes New Energy Automobile Design Institute Co.,Ltd.