一种新能源汽车管理软件的组件调度方法及系统与流程

文档序号:24235221发布日期:2021-03-12 13:06阅读:60来源:国知局
一种新能源汽车管理软件的组件调度方法及系统与流程

本发明涉及软件交互,具体涉及一种新能源汽车管理软件的组件调度方法及系统。



背景技术:

随着软件功能越来越多,代码结构会越发复杂,要修改某一个小功能,可能要重新翻阅整个项目的代码,把所有相同的地方都修改一遍,重复劳动浪费时间和人力,效率低;使用组件化,每个相同的功能模块都可以启动同一个组件,只需要修改这个组件,即可全局修改。为了降低软件开发工作量,简化软件代码,可以把重复的代码提取出来合并成为一个个组件,组件最重要的就是复用,组件位于框架最底层,其他功能都依赖于组件,可供不同功能使用,独立性强。因此,为了简化代码以及提高效率,在现代软件开发过程中进行组件化处理。

现有技术中在启动app时,各个组件模块会向部署在本地的组件管理器注册url(uniformresourcelocator,统一资源定位符);组件管理器生成url并将,当组件a需要启动组件b时,组件a将组件b的url传递至组件管理器,组件管理器根据组件b的url调度组件b,进而完成调度过程。但是,有的组件是需依赖远程服务器实现对应功能的,因此,在进行组件启动时均为远程启动和本地启动分配url时,容易混淆远程启动与本地启动。因此,现有技术中申请号为2019112779565的发明专利申请公开了一种组件启动方法、装置及计算机可读介质,该发明接收并解析组件启动请求得到待启动组件名称,判断所述组件启动请求是远端启动请求还是本地启动请求,若所述组件启动请求是本地启动请求,则从预构建的组件启动库中启动并运行本地启动函数,若所述组件启动请求是远端启动请求,解析所述远端启动请求的url,从所述组件启动库中启动远端启动函数,将所述url作为所述远端启动函数的启动参数,运行所述远端启动函数。该发明减少了url注册表的容量,进而解决了远端启动和本地启动不区分及消耗组件启动时占用内存的问题。

但是,发明人发现,在现有技术中虽然避免了本地启动与远程启动导致的混乱,但是软件每一个组件对应一个url还是十分占用url表空间的,因此,现有技术存在占用内存较大的技术问题。



技术实现要素:

本发明所要解决的技术问题在于如何提供一种新能源汽车管理软件的组件调度方法及系统以降低内存占用。

本发明通过以下技术手段实现解决上述技术问题的:

第一方面,本发明提供了一种新能源汽车管理软件的组件调度方法,应用于用户终端,所述方法包括:

获取针对管理软件中组件进行预划分得到的当前组件集合,且至少一个当前组件集合中包括两个或者两个以上组件;

针对各个当前组件集合,判断所述当前组件集合包含的组件是否全部为本地组件;

若否,根据所述当前组件集合的特征信息生成对应的集成url,并将所述集成url注册到服务器,其中,所述特征信息包括:组件的启动顺序、用户终端标识信息、管理软件的版本信息中的一种或组合;

接收用户输入的第一操作指令,获取第一操作指令对应的当前组件集合的集成url,以使云服务器在收到组件管理器发送的集成url后,启动对应的服务进程并建立所述服务进程与对应组件的数据连接。

可选的,所述获取针对管理软件中组件进行预划分得到的当前组件集合,包括:

预先根据管理软件的功能使用规则或者用户使用管理软件习惯,确定用户操作所启动组件的顺序,得到组件启动序列;

以组件启动序列中时长大于预设阈值的启动时间间隔为分割点,将组件启动序列切分为若干个当前组件集合。

可选的,在将组件启动序列切分为若干个当前组件集合时,所述方法还包括:

针对每一个当前组件集合,将被用户操作启动组件的顺序发送至云服务器,以使云服务器在收到组件管理器发送的集成url后,按照被用户操作启动组件的顺序依次启动对应的服务进程并建立所述服务进程与对应组件的数据连接。

可选的,所述根据所述当前组件集合的特征信息生成对应的集成url,包括:

将当前组件集合对应的特征信息作为url生成器的输入,生成集成url,其中,所述特征信息包括:组件启动顺序信息、管理软件的版本信息、用户终端标识信息中的一种或组合。

可选的,所述方法还包括:

接收用户输入的第二操作指令,解析得到对应于第二操作指令的组件集合,将第二操作指令对应组件集合中除已经与服务器数据连接的组件之外的组件作为当前组件集合;并返回执行所述判断目标当前组件集合包含的组件是否全部为本地组件的步骤,直至用户不再输入第二操作指令。

第二方面,基于第一方面方法本发明还提供了另一种新能源汽车管理软件的组件调度方法,应用于服务器,所述方法包括:

接收用户终端上的组件管理器发送的集成url;

解析所述集成url,得到当前组件集合的特征信息,其中,所述特征信息包括:组件的启动顺序、用户终端标识信息、管理软件的版本信息中的一种或组合;

根据所述特征信息获取对应的服务进程并启动,建立启动后的服务进程与组件的数据连接。

可选的,在接收用户终端上的组件管理器发送的集成url之前,所述方法还包括:

预先接收组件管理器发送的被用户操作启动组件的顺序。

可选的,所述根据所述特征信息获取对应的服务进程并启动,包括:

根据特征信息获取对应的服务进程,并按照所述顺序依次启动对应的服务进程并建立所述服务进程与对应组件的数据连接。

第三方面,本发明还提供了一种新能源汽车管理软件的组件调度系统,所述系统包括:用户终端和服务器,其中,

如第一方面所述的用户终端;

如第二方面所述的服务器。

本发明的优点在于:

应用本发明实施例,将若干个远程组件划分为一个当前组件集合,并针对当前组件集合生成对应的集成url,然后使用集成url进行远程组件启动,减少了需要生成的url的数量,进而降低了url表对内存的占用。

附图说明

图1为本发明实施例提供的一种新能源汽车管理软件的组件调度方法的流程示意图;

图2为本发明实施例中新能源汽车管理软件的组件化架构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1

首先需要说明的是,本发明实施例优选适用于新能源汽车管理软件的组件调度系统,所述系统包括:用户终端和服务器,下面首先在实施例1中就用户终端的工作过程进行介绍。

图1为本发明实施例提供的一种新能源汽车管理软件的组件调度方法的流程示意图,如图1所示,本发明实施例1提供了一种新能源汽车管理软件的组件调度方法,所述方法包括:

s101:获取针对管理软件中组件进行预划分得到的当前组件集合,且至少一个当前组件集合中包括两个或者两个以上组件。

示例性的,图2为本发明实施例中新能源汽车管理软件的组件化架构示意图,如图2所示,新能源汽车管理软件从架构上分为两层:功能层与组件层。管理软件与用户在功能层实现人机对话;用户在功能层输入控制命令,如加油功能、维修保养功能、考勤功能、通勤班车功能、节假日出行功能等;组件层的组件管理器根据用户终端接收的控制命令启动对应的组件。组件层中设有若干个组件,例如,可以设有业务组件,还可以设有第三方组件,如mjrefresh、jsonmodel、masonry等用于提供控件刷新、数据解析之类的服务;还可以设有公共组件,如公共视图组件、图片资源库组件、宏定义组件等,用于提供界面显示服务、批处理等服务。

首先,本发明实施例中的新能源汽车管理软件的用户角色包括:驾驶员、管理员、审批员、汽车修理厂等角色。本发明实施例中为不同的用户角色分配不同的人机交互界面,不同角色的用户使用的人机交互界面上的功能图标以及功能图标的文字是存在区别的,相应的其具体功能模块也存在区别。以驾驶员为例,可以根据用户的职业习惯统计得到驾驶员使用该管理软件的各个功能模块的顺序。用户使用的管理软件的某个功能模块是需要一系列的多个组件协同作用实现的,而且,实现该功能模块的具体功能的各个组件的启动是存在启动顺序的,进而可以得到驾驶员角色的操作所启动组件的顺序。进一步的,可以针对每一个驾驶员分别进行当前组件集合的划分。

得到的功能模块的启动顺序以及组件启动顺序为:

功能模块1:组件1、组件2、组件3、组件4;

功能模块2:组件7、组件4、组件1、组件5;

功能模块4:组件11、组件4、组件2、组件3。

然后,由于用户使用某个功能模块之时,一般会有一个阅读、思考或者操作的过程,进而导致用户在使用当前的功能模块之后过一定的时间间隔之后才会使用下一个功能模块,进而导致被启动的组件之间存在不同的时间间隔。

然后,根据该时间间隔将按照组件被启动时刻排序后得到的组件启动序列划分为若干个当前组件集合。本发明实施例中以一个功能模块对应一个当前组件集合为例进行说明。

在实际应用中,如果驾驶员操作两个功能之间的时间间隔小于第一预设阈值时,可以将这两个功能对应的组件划分到一个当前组件集合中。通常情况下,一个功能模块对应一个当前组件集合。

在本步骤的另一种获取组件启动序列的具体实施方式中,还可以为新能源汽车管理软件预置使用规则:如在一些规章制度、新闻、党政宣传的宣传时间周期内,将这些内容对应的功能模块作为用户启动管理软件之后需要首先使用的功能模块。

或者在特殊的节日,如交通安全日、国庆节时为对应的用户设置对应的使用规则,例如,在国庆节时,使用推送功能向用户使用的管理软件终端推送国庆节海报图片,并将海报图片弹窗显示在终端的界面上,在用户观看后,由用户手动关闭,然后才能正常使用管理软件。

或者,还可以由用户根据自身的实际需求,如第二天的工作安排设置一些优先展示,或者优先提醒,进而实现对应功能的优先启动;进而得到对应的组件启动顺序。

在实际应用中,还可以利用远程推送进程实现使用规则的设置;如此,实现了管理软件的功能使用规则的预置,进而可以得到对应的组件启动序列,可以实现个性化、灵活化的软件功能。

可以理解的是,本步骤所述组件可以为同一个app中的组件,也可以包括其他app中的组件。

s102:针对各个当前组件集合,判断所述当前组件集合包含的组件是否全部为本地组件;若否,执行s103步骤。

示例性的,针对s101步骤中的各个功能模块,功能模块1、功能模块2、功能模块4中的各个组件进行逐一判断。

例如,功能模块1启动的各个组件均为本地组件,也就是说,功能模块1的功能无需依赖云服务器实现。则无需针对功能模块1生成对应的集成url。且对于本地组件的启动方法为现有技术,本发明实施例在此不再赘述。

功能模块2启动的组件中,组件4、组件7为远程组件,则需要依赖云服务器实现,因此,需要执行s103步骤生成针对功能模块2的集成url。

对于其他功能模块对应的组件,均按照上述方法进行处理,本发明实施例在此不再一一赘述。

s103:根据所述当前组件集合的特征信息生成对应的集成url,并将所述集成url注册到服务器,其中,所述特征信息包括:组件的启动顺序、用户终端标识信息、管理软件的版本信息中的一种或组合。

示例性的,功能模块2需要启动的组件为:组件7、组件4、组件1、组件5,其中,组件1、组件5均为本地组件;组件7、组件4为远程组件。

由于不同地域的用户使用的管理软件的版本可能存在差异,或者不同角色的用户对相同得功能模块的个性化设置存在差异,进而导致不同的终端对应的组件启动顺序存在差异,因此,在服务器上获取各个终端的组件启动顺序数量比较多,因此,在生成集成url时,将功能模块2对应的各个组件的启动顺序作为特征字符加入到集成url中。例如,可以将功能模块2对应的用户终端标识信息作为集成url中的选定字段,然后将该集成url注册到云服务器。还可以为各个组件进行编号,按照启动顺序将对应的编号排列成一个字符串作为集成url中的选定字段,然后将该集成url注册到云服务器。用户终端标识信息的可以为该组件管理器所在终端的硬件标识信息、或者ip地址中的一种。

应用本发明实施例,用户每次首先启动的功能模块可能也会存在变化,即使不法分子拦截了用户第一次使用的功能模块的集成url;但是在用户下一次使用该管理软件时,该功能模块可能不会被首先启动,因此,在不同的使用时间下,针对同一个功能块其会生成新的url;相对于较为简单的为每一个功能模块设置确定的url,本发明实施例中生成的url数量更多,被入侵的难度更大,进而提高了安全性。

进一步的,还可以使用加密算法对特征信息进行加密,然后选取加密结果中的选定字段作为特征信息使用。

在实际应用中,如果使用规则并不能毫无异议的确定用户首先使用哪一个功能模块的情况下,可以针对各个当前组件集合分别生成对应的第一集成rul,并分别注册。

s104:接收用户输入的第一操作指令,获取第一操作指令对应的当前组件集合的集成url,以使云服务器在收到组件管理器发送的集成url后,启动对应的服务进程并建立所述服务进程与对应组件的数据连接。

在用户实际操作之后,就可以确定用户使用了哪一个功能模块,进而确定出了对应的当前组件集合;因此,根据s103步骤中生成的集成url访问云服务器。

云服务器在收到组件管理器发送的集成url后,解析该集成url,得到对应的用户终端标识信息以及对应的组件启动顺序,然后,顺序依次启动对应的服务进程并建立所述服务进程与对应组件的数据连接。

在实施例1的另一种具体实施方式中,对于没有个性化需求,或者个性化需求比较简单的管理软件,每次生成url均需要加入组件启动顺序会加大url的长度,因此,用户终端将根据使用规则得到各个功能的使用顺序,进而得到对应的组件启动顺序之后,根据自身的软件版本信息、个性化设置等信息获取各个终端自身的组件启动顺序,并将对应的组件启动顺序预先发送至云服务器,以使服务器将对应的组件启动顺序与用户终端标识信息、安装组件管理器的硬件设备的标识信息等具有唯一性的数据关联起来。

则在s101步骤中的当前组件集合的特征信息可以为用户终端标识信息和功能模块标识,或者组件管理器对应的软件的版本信息和功能模块标识,或者组件管理所在设备的硬件编号信息和功能模块标识。服务器在接收到用户终端根据集成url的访问请求之后,根据用户终端标识信息、安装组件管理器的硬件设备的标识信息等具有唯一性的数据查询出对应的组件启动顺序,然后根据url中的功能模块标识获取对应的当前组件集合,进而依照当前组件集合的组件启动顺序实现对应服务进程的启动。

进一步的,为了减少云服务器的通信负担,同一个部门或者同一个公司的驾驶员通常需要在一起开会,或者学习;而且,这些驾驶员均处于同一个管理规则的管理范围内,因此,这些驾驶员使用管理软件的版本信息一致、且软件的功能需求或者某些个性化设置相同的可能性较高。可以由该组件管理器在二者使用同一个wifi时,或者二者距离位于手机蓝牙通信范围之内时,与其他终端上的组件管理器通信,获取其他组件管理器的设置信息、版本信息;在二者的设置信息、版本信息等影响组件启动顺序的信息完全一致的情况下,询问其他终端的组件管理器是否已经上传组件启动顺序信息,若是,将其他终端的用户终端标识信息以及自身的标识信息发送至云服务器,以替代组件启动顺序信息的上传,减少了所要上传的数据量,进而减轻了云服务器的通信负担。

实施例2

本发明实施例2在实施例1的基础上,增加了以下步骤:接收用户输入的第二操作指令,解析得到对应于第二操作指令的组件集合,将第二操作指令对应组件集合中除已经与服务器数据连接的组件之外的组件作为当前组件集合;并返回执行所述判断目标当前组件集合包含的组件是否全部为本地组件的步骤,直至用户不再输入第二操作指令。

示例性的,在终端响应完成第一操作指令之后,用户还会继续操作终端设备,即用户可能会继续输入第二操作指令。

组件管理器解析第二操作指令,得到该操作指令需要启动的组件集合a,将该组件集合a中的组件逐一与第一操作指令已经启动的组件对比,如果组件集合a中的组件有已经被启动的,则将组件集合a中除已经被启动的组件之外的组件的集合作为当前组件集合,然后执行实施例1的步骤。

在本发明实施例中,已经被第一操作指令调度的远程组件已经建立了与云服务器的数据连接之后,则无需重复启动,因此,应用本发明实施例,避免了终端对远程组件的重复启动,降低了云服务器的工作负担。

进一步的,由于在s101步骤中分别针对不同功能模块的当前组件集合生成的不同的集成url,但是有的功能模块,如功能模块x并未被用户首先启动,其对应的组件也并未被组件管理器启动;因此,在用户在启动其他功能模块之后启动功能模块x对应的当前组件集合时,有的组件无需启动,因此,功能模块x对应的集成url与s101步骤中的集成url是存在区别的,因此,在用户在启动其他功能模块之后启动功能模块的rul是动态变化的,提高了安全性。

实施例3

首先需要说明的是,本发明实施例3优选适用于新能源汽车管理软件的组件调度系统中的服务器。

基于实施例1或2,本发明实施例3提供了另一种新能源汽车管理软件的组件调度方法,所述方法包括:

接收用户终端上的组件管理器发送的集成url;

解析所述集成url,得到当前组件集合的特征信息,其中,所述特征信息包括:组件的启动顺序、用户终端标识信息、管理软件的版本信息中的一种或组合;

根据所述特征信息获取对应的服务进程并启动,建立启动后的服务进程与组件的数据连接。

在本发明实施例的一种具体实施方式中,在接收用户终端上的组件管理器发送的集成url之前,所述方法还包括:

预先接收组件管理器发送的被用户操作启动组件的顺序。

在本发明实施例的一种具体实施方式中,所述特征信息获取对应的服务进程并启动,包括:

根据特征信息获取对应的服务进程,并按照所述顺序依次启动对应的服务进程并建立所述服务进程与对应组件的数据连接。

实施例4

本发明实施例4提供了一种新能源汽车管理软件的组件调度系统,所述系统包括:用户终端和服务器,其中,

用户终端,用于获取针对管理软件中组件进行预划分得到的当前组件集合,且至少一个当前组件集合中包括两个或者两个以上组件;

针对各个当前组件集合,判断所述当前组件集合包含的组件是否全部为本地组件;

若否,根据所述当前组件集合的特征信息生成对应的集成url,并将所述集成url注册到服务器,其中,所述特征信息包括:组件的启动顺序、用户终端标识信息、管理软件的版本信息中的一种或组合;

接收用户输入的第一操作指令,获取第一操作指令对应的当前组件集合的集成url,以使云服务器在收到组件管理器发送的集成url后,启动对应的服务进程并建立所述服务进程与对应组件的数据连接;

服务器用于:接收用户终端上的组件管理器发送的集成url;

解析所述集成url,得到当前组件集合的特征信息,其中,所述特征信息包括:组件的启动顺序、用户终端标识信息、管理软件的版本信息中的一种或组合;

根据所述特征信息获取对应的服务进程并启动,建立启动后的服务进程与组件的数据连接。

以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1