一种通讯录加载方法、系统、车机及存储介质与流程
1.本发明涉及车载蓝牙通讯技术领域,特别是涉及一种通讯录加载方法、系统、车机及存储介质。
背景技术:
2.蓝牙车载电话(bluetooth car phone)是指通过蓝牙通信方式实现车机与电话间的互联,进而实现在无需操作电话的情况下进行拨打或接听电话的系统和设备。但在使用蓝牙车载电话实现时,需要先将电话中的通信录加载至车机中。
3.现有基于android车机的通讯录加载方式,一般是通过车机系统中的内容提供器(content provider)将读取到通讯录写入车机数据库中,并通过车机的人机交互程序从数据库中读取通讯录进行展示的。在通讯录中包含大量数据的情况下,执行数据库写入与读取的效率会降低,进而导致人机交互界面展示通讯录的效率降低。
技术实现要素:
4.本发明实施例的目的在于提供一种通讯录加载方法、系统、车机及存储介质,以实现提高通讯录的加载效率的发明目的。具体技术方案如下:
5.一种通讯录加载方法,应用于车机,所述方法包括:
6.向处于连接状态下的目标移动终端发送通讯录请求报文,以使所述目标移动终端响应于所述通讯录请求报文,回传包含通讯录数据组的通讯录数据报文;
7.读取所述通讯录数据报文中携带的所述通讯录数据组,基于所述通讯录数据组中通讯录数据的数目与各所述通讯录数据的数据量,执行动态内存分配操作,并将各所述通讯录数据存储至所述动态内存分配操作分配的对应的存储区域中;
8.在各所述通讯录数据均被存储至对应的所述存储区域中后,生成通讯录显示报文,基于所述通讯录显示报文,从各所述存储区域中读取各所述通讯录数据,并对各所述通讯录数据进行显示操作。
9.可选的,所述基于所述通讯录数据组中通讯录数据的数目与各所述通讯录数据的数据量,执行动态内存分配操作,包括:
10.读取所述通讯录数据组,获得各所述通讯录数据的数据量及各自的序列标识;
11.根据所述序列标识,依次对各所述通讯录数据执行所述动态内存分配操作,其中,所述动态内存分配操作包括:
12.将所述通讯录数据组中未被执行过所述动态内存分配操作,且所述序列标识的优先级最高的一个所述通讯录数据,确定为当前通讯录数据;
13.根据所述当前通讯录数据的所述数据量,利用预设内存分配算法在内存中分配一个用于存储所述当前通讯录数据的所述存储区域,其中,所述存储区域的可存储容量不小于所述当前通讯录数据的所述数据量;
14.判断所述通讯录数据组中的各所述通讯录数据,是否均被执行所述动态内存分配
操作,若否,则返回执行所述将所述通讯录数据组中未被执行过所述动态内存分配操作,且所述序列标识的优先级最高的一个所述通讯录数据,确定为当前通讯录数据的步骤。
15.可选的,所述将各所述通讯录数据存储至所述动态内存分配操作分配的对应的存储区域中,包括:
16.将各所述通讯录数据存储至对应的所述存储区域中,并获得多个指针,其中,所述指针与所述存储区域具有对应关系,所述指针是对应的所述存储区域在内存中的地址信息。
17.可选的,所述在各所述通讯录数据均被存储至对应的所述存储区域中后,生成通讯录显示报文,包括:
18.在各所述通讯录数据均被存储至对应的内存地址中的情况下,将各所述指针依次添加至初始单向链表中,获得单向链表,其中,所述单向链表中的各所述指针是按照指针优先级由高到低的顺序排列的,所述指针优先级与所述指针具有对应关系,所述指针优先级是所述指针对应的所述存储区域中存储的所述通讯录数据的所述序列标识的优先级;
19.基于所述单向链表生成所述通讯录显示报文。
20.可选的,所述基于所述通讯录显示报文,从各所述存储区域中读取各所述通讯录数据,并对各所述通讯录数据进行显示操作,包括:
21.读取所述通讯录显示报文中的所述单向链表,对所述单向链表中的各所述指针:
22.根据该指针的所述地址信息,读取该指针对应的所述存储区域中存储的所述通讯录数据,并将读取到的所述通讯录数据通过人际交互界面进行显示。
23.可选的,在各所述通讯录数据均进行显示操作完毕的情况下,所述方法还包括:
24.读取所述单向链表中的各所述指针各自对应的所述存储区域,将各所述存储区域中存储的所述通讯录数据,按照所述指针优先级由高到低的顺序,依次写入预设通讯录数据库中,并释放各所述存储区域的存储空间。
25.一种通讯录加载系统,所述系统应用于车机,所述系统包括:
26.通讯录获取模块,用于向处于连接状态下的目标移动终端发送通讯录请求报文,以使所述目标移动终端响应于所述通讯录请求报文,回传包含通讯录数据组的通讯录数据报文;
27.数据分配存储模块,用于读取所述通讯录数据报文中携带的所述通讯录数据组,基于所述通讯录数据组中通讯录数据的数目与各所述通讯录数据的数据量,执行动态内存分配操作,并将各所述通讯录数据存储至所述动态内存分配操作分配的对应的存储区域中;
28.通讯录显示模块,用于在各所述通讯录数据均被存储至对应的所述存储区域中后,生成通讯录显示报文,基于所述通讯录显示报文,从各所述存储区域中读取各所述通讯录数据,并对各所述通讯录数据进行显示操作。
29.可选的,所述数据分配存储模块在执行动态内存分配操作时被设置为:
30.读取所述通讯录数据组,获得各所述通讯录数据的数据量及各自的序列标识;
31.根据所述序列标识,依次对各所述通讯录数据执行所述动态内存分配操作,其中,所述动态内存分配操作包括:
32.将所述通讯录数据组中未被执行过所述动态内存分配操作,且所述序列标识的优
先级最高的一个所述通讯录数据,确定为当前通讯录数据;
33.根据所述当前通讯录数据的所述数据量,利用预设内存分配算法在内存中分配一个用于存储所述当前通讯录数据的所述存储区域,其中,所述存储区域的可存储容量不小于所述当前通讯录数据的所述数据量;
34.判断所述通讯录数据组中的各所述通讯录数据,是否均被执行所述动态内存分配操作,若否,则返回执行所述将所述通讯录数据组中未被执行过所述动态内存分配操作,且所述序列标识的优先级最高的一个所述通讯录数据,确定为当前通讯录数据的步骤。
35.可选的,所述数据分配存储模块在将各所述通讯录数据存储至所述动态内存分配操作分配的对应的存储区域中时,被设置为:
36.将各所述通讯录数据存储至对应的所述存储区域中,并获得多个指针,其中,所述指针与所述存储区域具有对应关系,所述指针是对应的所述存储区域在内存中的地址信息。
37.可选的,所述通讯录显示模块在生成通讯录显示报文时被设置为:
38.在各所述通讯录数据均被存储至对应的内存地址中的情况下,将各所述指针依次添加至初始单向链表中,获得单向链表,其中,所述单向链表中的各所述指针是按照指针优先级由高到低的顺序排列的,所述指针优先级与所述指针具有对应关系,所述指针优先级是所述指针对应的所述存储区域中存储的所述通讯录数据的所述序列标识的优先级;
39.基于所述单向链表生成所述通讯录显示报文。
40.可选的,所述通讯录显示模块在基于所述通讯录显示报文,从各所述存储区域中读取各所述通讯录数据,并对各所述通讯录数据进行显示操作时被设置为:
41.读取所述通讯录显示报文中的所述单向链表,对所述单向链表中的各所述指针:
42.根据该指针的所述地址信息,读取该指针对应的所述存储区域中存储的所述通讯录数据,并将读取到的所述通讯录数据通过人际交互界面进行显示。
43.可选的,所述通讯录加载系统还包括:
44.数据入库模型,用于在各所述通讯录数据均进行所述显示操作完毕的情况下,读取所述单向链表中的各所述指针各自对应的所述存储区域,将各所述存储区域中存储的所述通讯录数据,按照所述指针优先级由高到低的顺序,依次写入预设通讯录数据库中,并释放各所述存储区域的存储空间。
45.一种车机,所述车机包括:
46.处理器;
47.用于存储所述处理器可执行指令的存储器;
48.其中,所述处理器被配置为执行所述指令,以实现如上述任一种所述的通讯录加载方法。
49.一种计算机可读存储介质,当所述计算机可读存储介质中的指令由车机的处理器执行时,使得所述车机能够执行如上述任一种所述的通讯录加载方法。
50.本发明实施例提供的一种通讯录加载方法、系统、车机及存储介质,可以通过对通讯录数据组中的各通讯录数据执行动态内存分配操作,可以实现根据实际需求进行内存的即时分配,从而提高对通讯录数据的存储效率。同时,通过动态内存分配操作,直接在内存中划分存储区域进行数据的读写,使得本发明相较于现有技术,提高了对通讯录数据的存
储效率,从而提高了对通讯录加载的整体运行效率。最后,通过从各存储区域中读取各通讯录数据,并对各通讯录数据进行显示操作,使得本发明相较于现有技术通过读取外存数据库的方式,提高了对通讯录数据的读取效率,进而提高了通讯录加载流程的整体速率。可见,本发明提高了对通讯录的加载效率。
51.当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
52.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
53.图1为本发明实施例提供的一种通讯录加载方法的流程图;
54.图2为本发明的一个可选实施例提供的一种通讯录加载系统的框图;
55.图3为本发明的另一个可选实施例提供的一种车机的框图。
具体实施方式
56.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
57.本发明实施例提供了一种通讯录加载方法,应用于车机,如图1所示,该方法包括:
58.s101、向处于连接状态下的目标移动终端发送通讯录请求报文,以使目标移动终端响应于通讯录请求报文,回传包含通讯录数据组的通讯录数据报文。
59.可选的,在本发明的一个可选实施例中,上述车机可以是装载有操作系统的车载设备。其中,上述操作系统包括但不限于:安卓(android)、linux、ios等。
60.需要说明的是,上述连接状态是指通过蓝牙(bluetooth)技术实现目标移动终端与车机通讯连接的状态。
61.需要说明的是,在实际应用场景下,上述目标移动终端的具体类型有多种,例如手机、平板电脑、智能穿戴设备等具有蓝颜连接功能的设备。本发明对上述目标移动终端的具体类型不作过多限定。
62.可选的,在本发明的另一个可选实施例中,上述通讯录数据组可以由目标移动终端内存储的各通讯录数据构成的数据组。该通讯录数据组中的各通讯录数据的排列顺序,是根据目标移动终端将各通讯录数据写入通讯录数据报文的顺序确定的。
63.s102、读取通讯录数据报文中携带的通讯录数据组,基于通讯录数据组中通讯录数据的数目与各通讯录数据的数据量,执行动态内存分配操作,并将各通讯录数据存储至动态内存分配操作分配的对应的存储区域中。
64.需要说明的是,在实际应用场景下,上述各通讯录数据是以电子名片(versitcard,vcard)的形式存在于上述通讯录数据报文中的。上述通讯录数据中可以包括
多种类型的信息,例如姓名、地址、、邮箱等。本发明对通讯录数据的具体信息内容不作过多限定。
65.可选的,在本发明的一个可选实施例中,上述动态内存分配操作是指在程序执行的过程中动态地分配或者回收存储空间的分配内存的方法。由于在实际应用场景下,受硬件设备工作状况、传输环境、通讯录数据量多等条件限制,会导致上述通讯录数据报文的传输效率降低。若在通讯录数据组全部传输完毕在进行内存分配等后续操作,则会降低通讯录加载及显示的整体效率。因此,本发明通过对通讯录数据组中的各通讯录数据执行动态内存分配操作,可以实现根据实际需求进行内存的即时分配,从而提高对通讯录数据的存储效率。
66.可选的,在本发明的另一个可选实施例中,由于现有的通讯录加载方式,是通过将通讯录数据写入外存数据库中实现的。又由于外存数据库库为了存储数据,通常需要部署于磁盘等存储介质中。这就导致对外存数据库进行数据读写的效率低下。本发明通过上述动态内存分配操作,直接在内存中划分存储区域进行数据的读写,使得本发明相较于现有技术,提高了对通讯录数据的存储效率,从而提高了对通讯录加载的整体运行效率。
67.可选的,在本发明的另一个可选实施例中,上述存储区域,可以是内存中预先划分的即时读写区域中的部分区域,也可以是根据通讯录数据的数据量在内存中查到的空余区域。
68.s103、在各通讯录数据均被存储至对应的存储区域中后,生成通讯录显示报文,基于通讯录显示报文,从各存储区域中读取各通讯录数据,并对各通讯录数据进行显示操作。
69.可选的,在本发明的一个可选实施例中,上述基于通讯录显示报文,从各存储区域中读取各通讯录数据,并对各通讯录数据进行显示操作,可以是由车机中用于展示通讯录的应用软件(application,app)实现的。
70.可选的,在本发明的另一个可选实施例中,由于上述存储区域均是内存中的区域。因此,本发明通过从各存储区域中读取各通讯录数据,并对各通讯录数据进行显示操作,使得本发明相较于现有技术通过读取外存数据库的方式,提高了对通讯录数据的读取效率,进而提高了通讯录加载流程的整体速率。
71.本发明通过对通讯录数据组中的各通讯录数据执行动态内存分配操作,可以实现根据实际需求进行内存的即时分配,从而提高对通讯录数据的存储效率。同时,通过动态内存分配操作,直接在内存中划分存储区域进行数据的读写,使得本发明相较于现有技术,提高了对通讯录数据的存储效率,从而提高了对通讯录加载的整体运行效率。最后,通过从各存储区域中读取各通讯录数据,并对各通讯录数据进行显示操作,使得本发明相较于现有技术通过读取外存数据库的方式,提高了对通讯录数据的读取效率,进而提高了通讯录加载流程的整体速率。可见,本发明提高了对通讯录的加载效率。
72.可选的,上述基于通讯录数据组中通讯录数据的数目与各通讯录数据的数据量,执行动态内存分配操作,包括:
73.读取通讯录数据组,获得各通讯录数据的数据量及各自的序列标识;
74.根据序列标识,依次对各通讯录数据执行动态内存分配操作,其中,动态内存分配操作包括:
75.将通讯录数据组中未被执行过动态内存分配操作,且序列标识的优先级最高的一
个通讯录数据,确定为当前通讯录数据;
76.根据当前通讯录数据的数据量,利用预设内存分配算法在内存中分配一个用于存储当前通讯录数据的存储区域,其中,存储区域的可存储容量不小于当前通讯录数据的数据量;
77.判断通讯录数据组中的各通讯录数据,是否均被执行动态内存分配操作,若否,则返回执行将通讯录数据组中未被执行过动态内存分配操作,且序列标识的优先级最高的一个通讯录数据,确定为当前通讯录数据的步骤。
78.可选的,在本发明的一个可选实施例中,由于在实际应用场景下,通讯录数据组中的通讯录数据是动态增加的。因此,通过设置上述序列标识,可以实现对通讯录数据的准确区分,避免新增的通讯录数据被遗漏。
79.本领域技术人员可以理解的是,在实际应用场景下,上述利用预设内存分配算法在内存中分配一个用于存储当前通讯录数据的存储区域的实现方式有多种,例如malloc函数、calloc函数等。本发明对上述预设内存分配算法的具体类型及构建方式,不作过多限定和赘述。
80.可选的,将各通讯录数据存储至动态内存分配操作分配的对应的存储区域中,包括:
81.将各通讯录数据存储至对应的存储区域中,并获得多个指针,其中,指针与存储区域具有对应关系,指针是对应的存储区域在内存中的地址信息。
82.需要说明的是,上述指针(pointer)表征了用来存放通讯录数据的存储区域的地址。由于在同一个中央处理器(central processing unit,cpu)架构下,不同类型的数据所占用的存储空间长度是不同的,但不同指针所占用的存储空间长度是相同的。因此,本发明通过设置指针来建立指针与存储区域的对应关系,避免了后续步骤由于需要处理的数据量不统一带来的效率降低的风险。
83.可选的,在各通讯录数据均被存储至对应的存储区域中后,生成通讯录显示报文,包括:
84.在各通讯录数据均被存储至对应的内存地址中的情况下,将各指针依次添加至初始单向链表中,获得单向链表,其中,单向链表中的各指针是按照指针优先级由高到低的顺序排列的,指针优先级与指针具有对应关系,指针优先级是指针对应的存储区域中存储的通讯录数据的序列标识的优先级;
85.基于单向链表生成通讯录显示报文。
86.可选的,在本发明的一个可选实施例中,上述单向链表是利用动态内存分布,使用结构体配合指针来实现的一种数据结构。由于单向链表在确定头部指针后,其后续的指针访问数据可以依据指针指向自动执行。因此,本发明通过设置上述单向链表,可以提高在通讯录加载过程中,各通讯录数据读取和显示的准确性。
87.可选的,基于通讯录显示报文,从各存储区域中读取各通讯录数据,并对各通讯录数据进行显示操作,包括:
88.读取通讯录显示报文中的单向链表,对单向链表中的各指针:
89.根据该指针的地址信息,读取该指针对应的存储区域中存储的通讯录数据,并将读取到的通讯录数据通过人际交互界面进行显示。
90.可选的,在各通讯录数据均进行显示操作完毕的情况下,上述如图1所示的通讯录加载方法还包括:
91.读取单向链表中的各指针各自对应的存储区域,将各存储区域中存储的通讯录数据,按照指针优先级由高到低的顺序,依次写入预设通讯录数据库中,并释放各存储区域的存储空间。
92.需要说明的是,由于在内存中存储数据,会由于下电丢失导致数据丢失的风险。因此,本发明通过在将各通讯录数据均执行显示操作完毕后,将通讯录数据写入预设通讯录数据库中,避免了下电丢失数据的风险。
93.与上述方法实施例相对应地,本发明还提供了一种通讯录加载系统,如图2所示,该通讯录加载系统应用于车机,该通讯录加载系统包括:
94.通讯录获取模块201,用于向处于连接状态下的目标移动终端发送通讯录请求报文,以使目标移动终端响应于通讯录请求报文,回传包含通讯录数据组的通讯录数据报文。
95.数据分配存储模块202,用于读取通讯录数据报文中携带的通讯录数据组,基于通讯录数据组中通讯录数据的数目与各通讯录数据的数据量,执行动态内存分配操作,并将各通讯录数据存储至动态内存分配操作分配的对应的存储区域中。
96.通讯录显示模块203,用于在各通讯录数据均被存储至对应的存储区域中后,生成通讯录显示报文,基于通讯录显示报文,从各存储区域中读取各通讯录数据,并对各通讯录数据进行显示操作。
97.可选的,上述数据分配存储模块202在执行动态内存分配操作时被设置为:
98.读取通讯录数据组,获得各通讯录数据的数据量及各自的序列标识;
99.根据序列标识,依次对各通讯录数据执行动态内存分配操作,其中,动态内存分配操作包括:
100.将通讯录数据组中未被执行过动态内存分配操作,且序列标识的优先级最高的一个通讯录数据,确定为当前通讯录数据;
101.根据当前通讯录数据的数据量,利用预设内存分配算法在内存中分配一个用于存储当前通讯录数据的存储区域,其中,存储区域的可存储容量不小于当前通讯录数据的数据量;
102.判断通讯录数据组中的各通讯录数据,是否均被执行动态内存分配操作,若否,则返回执行将通讯录数据组中未被执行过动态内存分配操作,且序列标识的优先级最高的一个通讯录数据,确定为当前通讯录数据的步骤。
103.可选的,上述数据分配存储模块202在将各通讯录数据存储至动态内存分配操作分配的对应的存储区域中时,被设置为:
104.将各通讯录数据存储至对应的存储区域中,并获得多个指针,其中,指针与存储区域具有对应关系,指针是对应的存储区域在内存中的地址信息。
105.可选的,上述通讯录显示模块203在生成通讯录显示报文时被配置为:
106.在各通讯录数据均被存储至对应的内存地址中的情况下,将各指针依次添加至初始单向链表中,获得单向链表,其中,单向链表中的各指针是按照指针优先级由高到低的顺序排列的,指针优先级与指针具有对应关系,指针优先级是指针对应的存储区域中存储的通讯录数据的序列标识的优先级;
107.基于单向链表生成通讯录显示报文。
108.可选的,上述通讯录显示模块203在基于通讯录显示报文,从各存储区域中读取各通讯录数据,并对各通讯录数据进行显示操作时被设置为:
109.读取通讯录显示报文中的单向链表,对单向链表中的各指针:
110.根据该指针的地址信息,读取该指针对应的存储区域中存储的通讯录数据,并将读取到的通讯录数据通过人际交互界面进行显示。
111.可选的,上述如图2所示的通讯录加载系统还包括:
112.数据入库模块,用于在各通讯录数据均进行显示操作完毕的情况下,读取单向链表中的各指针各自对应的存储区域,将各存储区域中存储的通讯录数据,按照指针优先级由高到低的顺序,依次写入预设通讯录数据库中,并释放各存储区域的存储空间。
113.本发明实施例还提供了一种车机,如图3所示,该车机包括:
114.处理器301;
115.用于存储处理器301可执行指令的存储器302;
116.其中,处理器301被配置为执行指令,以实现如上述任一种的通讯录加载方法。
117.本发明实施例还提供了一种计算机可读存储介质,当计算机可读存储介质中的指令由车机的处理器执行时,使得车机能够执行如上述任一种的通讯录加载方法。
118.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。
119.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
120.本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
121.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
122.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
123.以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
技术特征:
1.一种通讯录加载方法,其特征在于,应用于车机,所述方法包括:向处于连接状态下的目标移动终端发送通讯录请求报文,以使所述目标移动终端响应于所述通讯录请求报文,回传包含通讯录数据组的通讯录数据报文;读取所述通讯录数据报文中携带的所述通讯录数据组,基于所述通讯录数据组中通讯录数据的数目与各所述通讯录数据的数据量,执行动态内存分配操作,并将各所述通讯录数据存储至所述动态内存分配操作分配的对应的存储区域中;在各所述通讯录数据均被存储至对应的所述存储区域中后,生成通讯录显示报文,基于所述通讯录显示报文,从各所述存储区域中读取各所述通讯录数据,并对各所述通讯录数据进行显示操作。2.根据权利要求1所述的方法,其特征在于,所述基于所述通讯录数据组中通讯录数据的数目与各所述通讯录数据的数据量,执行动态内存分配操作,包括:读取所述通讯录数据组,获得各所述通讯录数据的数据量及各自的序列标识;根据所述序列标识,依次对各所述通讯录数据执行所述动态内存分配操作,其中,所述动态内存分配操作包括:将所述通讯录数据组中未被执行过所述动态内存分配操作,且所述序列标识的优先级最高的一个所述通讯录数据,确定为当前通讯录数据;根据所述当前通讯录数据的所述数据量,利用预设内存分配算法在内存中分配一个用于存储所述当前通讯录数据的所述存储区域,其中,所述存储区域的可存储容量不小于所述当前通讯录数据的所述数据量;判断所述通讯录数据组中的各所述通讯录数据,是否均被执行所述动态内存分配操作,若否,则返回执行所述将所述通讯录数据组中未被执行过所述动态内存分配操作,且所述序列标识的优先级最高的一个所述通讯录数据,确定为当前通讯录数据的步骤。3.根据权利要求2所述的方法,其特征在于,所述将各所述通讯录数据存储至所述动态内存分配操作分配的对应的存储区域中,包括:将各所述通讯录数据存储至对应的所述存储区域中,并获得多个指针,其中,所述指针与所述存储区域具有对应关系,所述指针是对应的所述存储区域在内存中的地址信息。4.根据权利要求3所述的方法,其特征在于,所述在各所述通讯录数据均被存储至对应的所述存储区域中后,生成通讯录显示报文,包括:在各所述通讯录数据均被存储至对应的内存地址中的情况下,将各所述指针依次添加至初始单向链表中,获得单向链表,其中,所述单向链表中的各所述指针是按照指针优先级由高到低的顺序排列的,所述指针优先级与所述指针具有对应关系,所述指针优先级是所述指针对应的所述存储区域中存储的所述通讯录数据的所述序列标识的优先级;基于所述单向链表生成所述通讯录显示报文。5.根据权利要求4所述的方法,其特征在于,所述基于所述通讯录显示报文,从各所述存储区域中读取各所述通讯录数据,并对各所述通讯录数据进行显示操作,包括:读取所述通讯录显示报文中的所述单向链表,对所述单向链表中的各所述指针:根据该指针的所述地址信息,读取该指针对应的所述存储区域中存储的所述通讯录数据,并将读取到的所述通讯录数据通过人际交互界面进行显示。6.根据权利要求5所述的方法,其特征在于,在各所述通讯录数据均进行显示操作完毕
的情况下,所述方法还包括:读取所述单向链表中的各所述指针各自对应的所述存储区域,将各所述存储区域中存储的所述通讯录数据,按照所述指针优先级由高到低的顺序,依次写入预设通讯录数据库中,并释放各所述存储区域的存储空间。7.一种通讯录加载系统,其特征在于,所述系统应用于车机,所述系统包括:通讯录获取模块,用于向处于连接状态下的目标移动终端发送通讯录请求报文,以使所述目标移动终端响应于所述通讯录请求报文,回传包含通讯录数据组的通讯录数据报文;数据分配存储模块,用于读取所述通讯录数据报文中携带的所述通讯录数据组,基于所述通讯录数据组中通讯录数据的数目与各所述通讯录数据的数据量,执行动态内存分配操作,并将各所述通讯录数据存储至所述动态内存分配操作分配的对应的存储区域中;通讯录显示模块,用于在各所述通讯录数据均被存储至对应的所述存储区域中后,生成通讯录显示报文,基于所述通讯录显示报文,从各所述存储区域中读取各所述通讯录数据,并对各所述通讯录数据进行显示操作。8.根据权利要求7所述的系统,其特征在于,所述数据分配存储模块在执行动态内存分配操作时被设置为:读取所述通讯录数据组,获得各所述通讯录数据的数据量及各自的序列标识;根据所述序列标识,依次对各所述通讯录数据执行所述动态内存分配操作,其中,所述动态内存分配操作包括:将所述通讯录数据组中未被执行过所述动态内存分配操作,且所述序列标识的优先级最高的一个所述通讯录数据,确定为当前通讯录数据;根据所述当前通讯录数据的所述数据量,利用预设内存分配算法在内存中分配一个用于存储所述当前通讯录数据的所述存储区域,其中,所述存储区域的可存储容量不小于所述当前通讯录数据的所述数据量;判断所述通讯录数据组中的各所述通讯录数据,是否均被执行所述动态内存分配操作,若否,则返回执行所述将所述通讯录数据组中未被执行过所述动态内存分配操作,且所述序列标识的优先级最高的一个所述通讯录数据,确定为当前通讯录数据的步骤。9.一种车机,其特征在于,所述车机包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如权利要求1至6中任一项所述的通讯录加载方法。10.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由车机的处理器执行时,使得所述车机能够执行如权利要求1至6中任一项所述的通讯录加载方法。
技术总结
本发明实施例提供了一种通讯录加载方法、系统、车机及存储介质,其中,方法包括:向处于连接状态下的目标移动终端发送通讯录请求报文,以使目标移动终端响应于通讯录请求报文,回传包含通讯录数据组的通讯录数据报文,读取通讯录数据报文中携带的通讯录数据组,基于通讯录数据组中通讯录数据的数目与各通讯录数据的数据量,执行动态内存分配操作,并将各通讯录数据存储至动态内存分配操作分配的对应的存储区域中,在各通讯录数据均被存储至对应的存储区域中后,生成通讯录显示报文,基于通讯录显示报文,从各存储区域中读取各通讯录数据,并对各通讯录数据进行显示操作。本发明提高了对通讯录的加载效率。高了对通讯录的加载效率。高了对通讯录的加载效率。