文件解析方法及相关装置制造方法及图纸

技术编号:38655322 阅读:12 留言:0更新日期:2023-09-02 22:41
本申请实施例提供了文件解析方法及相关装置,其中,该方法包括:创建第一进程以及至少两个第二进程;从上述第一进程获取待解析文件的文件路径,并分配给上述至少两个第二进程,上述至少两个第二进程对应不同的文件路径;基于上述文件路径获取上述至少两个第二进程中每个第二进程对应的上述待解析文件;通过上述第二进程解析对应的上述待解析文件。通过本申请,电子设备可以在开机阶段对待解析文件进行有效解析,并且,本申请可以减少电子设备解析待解析文件花费的时长,从而减少电子设备的开机时长。机时长。机时长。

【技术实现步骤摘要】
文件解析方法及相关装置


[0001]本申请涉及计算机
,尤其涉及文件解析方法及相关装置。

技术介绍

[0002]安卓(Android)是一种基于Linux内核、开放源代码的操作系统,在手机、平板电脑等电子设备中应用广泛。
[0003]在电子设备的开机阶段,电子设备会启动init进程。其中,上述init进程需要加载大量后缀名为rc的文件(可以简称为rc文件),然后对rc文件进行解析。rc文件中记录了启动系统服务的步骤和时机,当所有rc文件被解析完成后,将生成对应的service类和action类。电子设备在合适的时机按需启动service、然后执行正确的action,即可完成开机。

技术实现思路

[0004]本申请实施例提供了一种文件解析方法及相关装置,通过本申请,电子设备可以在开机阶段对待解析文件进行有效解析,并且,本申请可以减少电子设备解析待解析文件花费的时长,从而减少电子设备的开机时长。
[0005]第一方面,本申请实施例提供了一种文件解析方法,包括:
[0006]创建第一进程以及至少两个第二进程;
[0007]从上述第一进程获取待解析文件的文件路径,并分配给上述至少两个第二进程,上述至少两个第二进程对应不同的文件路径;
[0008]基于上述文件路径获取上述至少两个第二进程中每个第二进程对应的上述待解析文件;
[0009]通过上述第二进程解析对应的上述待解析文件。
[0010]本申请实施例中,上述文件解析方法可以由电子设备执行。其中,上述电子设备可以是任意一种可执行本申请方法实施例所公开的技术方案的电子设备。可选地,上述电子设备可以是任意能够运行安卓系统的设备,比如可以是手机、平板电脑、可穿戴智能设备等。应理解,本申请方法实施例还可以通过处理器执行计算机程序代码的方式实现。
[0011]本申请实施例中,电子设备创建第一进程和至少两个第二进程,其中,至少两个第二进程可以理解为两个第二进程或两个以上第二进程。电子设备可以分别创建上述第一进程和上述至少两个第二进程,可以先创建上述第一进程,在上述第一进程中创建上述至少两个第二进程,本申请对此不作限定。
[0012]可以理解的是,不同的进程是相互独立的,在进程运行过程中,每个进程各自有不同的地址空间。本申请实施例中,进程之间的数据交互(例如发送、接收等)应该理解为是基于进程间交互实现的,例如管道、信号量、消息队列、共享内存以及套接字等方式,具体可参阅后文图7和图8的相关描述。其中,进程之间的数据交互例如可以是上述第一进程与第二进程之间的数据交互,以及后续第二进程与第三进程之间的数据交互等。
[0013]本申请实施例中,上述待解析文件可以理解为待解析的rc文件,其中,rc文件可以
理解为后缀名为rc的文件。
[0014]示例性地,上述第一进程可以理解为后文实施例中的分配器进程,上述第二进程可以理解为后文实施例中的解析器进程。本申请实施例中,上述第一进程用于维护电子设备待解析rc文件的文件路径,示例性地,上述第一进程可以创建待解析文件列表,用于记录待解析rc文件的文件路径。
[0015]本申请实施例中,电子设备从上述第一进程中获取待解析文件的文件路径,并分配给上述至少两个第二进程,可以理解的是,可选地,电子设备可以创建M个第二进程,将获取的待解析文件的文件路径分配给上述M个第二进程中至少两个第二进程,其中,上述M为大于或等于2的数。
[0016]本申请实施例中,电子设备给至少两个第二进程分配待解析文件的文件路径,每个第二进程对应不同的文件路径。其中,每个第二进程对应不同的文件路径,可以理解为,不同的第二进程可以得到不同的待解析文件的文件路径。因此,电子设备通过上述第二进程解析对应的上述待解析文件,可以理解为,每个第二进程根据不同的文件路径获取到不同的待解析文件,对不同的待解析文件进行解析。
[0017]可以理解的是,在电子设备通过上述至少两个第二进程对待解析文件进行解析的过程中,不同的待解析文件中的内容是不同的,不同的第二进程对各自对应的待解析文件进行解析需要的时长是不同的。因此,在某些第二进程完成对应的待解析文件解析后,电子设备可以继续从第一进程中获取待解析文件的文件路径,并分配给上述第二进程。
[0018]因此,本申请实施例中,从上述第一进程获取待解析文件的文件路径,并分配给上述至少两个第二进程,可以理解为电子设备给上述至少两个第二进程中每个第二进程分配待解析文件的文件路径,也可以理解为电子设备给上述至少两个第二进程中空闲的第二进程分配待解析文件的文件路径。
[0019]还应理解,在某些特殊情况下,电子设备无法完全利用全部第二进程,甚至只能利用其中一个第二进程。示例性地,在文件解析的最后阶段,待解析文件的数量小于上述第二进程的数量,比如还剩下3个甚至1个待解析文件,而第二进程的数量为6。在上述特殊情况下,电子设备通过上述至少两个第二进程中部分第二进程解析对应的待解析文件。可以理解的是,上述情况仅仅是特例,在解析的整个过程中,电子设备在大部分时间内是基于至少两个第二进程对待解析文件进行解析的。
[0020]可以理解的是,电子设备在启动阶段需要解析的rc文件数量较多。示例性地,电子设备A在启动阶段需要解析的rc文件有248个,电子设备B在启动阶段需要解析的rc文件有264个。相比于其他方案中,电子设备通过单进程对待解析文件进行解析,本申请通过上述至少两个第二进程对待解析文件进程并行解析,可以缩短电子设备在开机阶段解析rc文件花费的时长,从而缩短电子设备开机时长。
[0021]结合第一方面,在一种可能的实现方式中,上述通过上述第二进程解析对应的上述待解析文件,包括:
[0022]在上述待解析文件中的块section为import语句的情况下,通过上述第二进程将上述import语句中的文件路径作为新的待解析文件的文件路径发送给上述第一进程。
[0023]可以理解的是,本申请实施例中,待解析文件的基本组成单位为块(section),section关键字可以是on,可以称为on语句或on section;也可以是service,可以称为
service语句或service section;也可以是import,可以称为import语句或import section。
[0024]本申请实施例中,电子设备利用每个第二进程解析对应的待解析文件的解析过程是相同的。在对待解析文件进行解析时,电子设备先判断待解析文件中的section类型,在上述待解析文件中的section为import语句的情况下,电子设备根据import语句引入新的待解析文件的文件路径。
[0025]可以理解的是,import语句中包括一个rc文件的文件路径,电子设备在解析待解析文件A的过程中解析到import语句,可以理解为该import语句中的文件路径对应的文件也需要解析,可以认为是新的待解析文件。
[0026]基于本申请实施例中的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种文件解析方法,其特征在于,所述方法包括:创建第一进程以及至少两个第二进程;从所述第一进程获取待解析文件的文件路径,并分配给所述至少两个第二进程,所述至少两个第二进程对应不同的文件路径;基于所述文件路径获取所述至少两个第二进程中每个第二进程对应的所述待解析文件;通过所述第二进程解析对应的所述待解析文件。2.根据权利要求1所述的方法,其特征在于,所述通过所述第二进程解析对应的所述待解析文件,包括:在所述待解析文件中的块section为import语句的情况下,通过所述第二进程将所述import语句中的文件路径作为新的待解析文件的文件路径发送给所述第一进程。3.根据权利要求1所述的方法,其特征在于,所述通过第二进程解析对应的所述待解析文件,包括:在所述待解析文件中的section为on语句的情况下,通过所述第二进程创建所述on语句对应的action类对象;在所述待解析文件中的section为service语句的情况下,通过所述第二进程创建所述service语句对应的service类对象;将所述action类对象或所述service类对象作为所述第二进程的本地数据进行存储。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:创建第三进程;在所述待解析文件解析完毕后,通过所述第二进程将所述action类对象和/或所述service类对象发送给所述第三进程;通过所述第三进程将所述ac...

【专利技术属性】
技术研发人员:马原野
申请(专利权)人:荣耀终端有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1