一种服务启动方法、装置、服务器及存储介质制造方法及图纸

技术编号:25834524 阅读:14 留言:0更新日期:2020-10-02 14:15
本发明专利技术实施例提供了一种服务启动方法、装置、服务器及存储介质,在服务进程启动时,从共享内存中获取服务数据;共享内存用于存储各服务器的服务进程在启动过程中共用的服务数据;基于共享内存中的服务数据进行初始化,完成服务启动过程。本发明专利技术实施例中,仅需基于共享内存中的服务数据进行初始化即可,避免了服务启动过程中的多次数据加载操作,因此,缩短了整个服务系统的服务启动时间,提高了服务启动的速度。

【技术实现步骤摘要】
一种服务启动方法、装置、服务器及存储介质
本专利技术涉及计算机
,特别是涉及一种服务启动方法、装置、服务器及存储介质。
技术介绍
网络服务型企业都拥有自己的服务系统,该系统中分布有大量的服务器,各服务器中均安装有一套相同的服务程序,用于向客户提供相应的服务。很多服务程序在启动过程中都需要预先加载大量的服务数据,例如:用于提供地图数据导航的导航类服务系统等。目前,上述服务系统中的服务程序启动过程一般为:服务系统中的各服务器独立进行服务启动,具体的:各服务器分别将自身磁盘中存储的原始服务数据加载至自身内存当中,然后再基于加载至自身内存中的原始服务数据,进行初始化,从而完成服务启动过程。上述过程,每个服务器启动时,均需要执行“将原始服务数据加载至内存中”这一数据加载过程,而对于整个服务系统而言,只有各服务器均完成启动,整个系统才启动完成。因此,服务系统的服务启动速度较慢。
技术实现思路
本专利技术实施例的目的在于提供一种服务启动方法、装置、服务器以及计算机可读存储介质,以提高服务启动的速度。具体技术方案如下:第一方面,本专利技术实施例提供了一种服务启动方法,应用于服务器,所述方法包括:在服务进程启动时,从共享内存中获取服务数据;所述共享内存用于存储各服务器的服务进程在启动过程中共用的所述服务数据;基于所述共享内存中的所述服务数据进行初始化,完成服务启动过程。进一步的,所述共享内存中的所述服务数据是在服务进程启动之前,预先从本地磁盘中加载至所述共享内存中的。进一步的,所述方法还包括:若无法从所述共享内存中获取到所述服务数据,则将本地磁盘中存储的所述服务数据加载至共享内存中,并基于所述共享内存中的所述服务数据进行初始化,完成服务启动过程。进一步的,所述将本地磁盘中存储的所述服务数据加载至共享内存中的步骤,包括:采用分批加载的方式,将本地磁盘中存储的,预先编译完成的二进制文件格式的所述服务数据通过共享内存设备的内核空间,加载至所述共享内存设备的物理内存中;所述基于所述共享内存中的所述服务数据进行初始化,完成服务启动过程的步骤,包括:基于加载至所述共享内存设备的物理内存中的所述服务数据进行初始化,完成服务启动过程。进一步的,针对所述共享内存中用于存储所述服务数据的每个存储单元,将该存储单元与起始存储单元之间的地址偏移量作为该存储单元的地址信息。进一步的,在所述基于所述共享内存中的所述服务数据进行初始化,完成服务启动过程之后,所述方法还包括:当接收到客户端设备发送的服务请求时,基于所述共享内存中的所述服务数据,为所述客户端设备提供与所述服务请求对应的服务。第二方面,本专利技术实施例提供了一种服务启动装置,应用于服务器,所述装置包括:服务数据获取模块,用于在服务进程启动时,从共享内存中获取服务数据;所述共享内存用于存储各服务器的服务进程在启动过程中共用的所述服务数据;第一服务启动模块,用于基于所述共享内存中的所述服务数据进行初始化,完成服务启动过程。进一步的,所述共享内存中的所述服务数据是在服务进程启动之前,预先从本地磁盘中加载至所述共享内存中的。进一步的,所述装置,还包括:第二服务启动模块,用于若无法从所述共享内存中获取到所述服务数据,则将本地磁盘中存储的所述服务数据加载至共享内存中,并基于所述共享内存中的所述服务数据进行初始化,完成服务启动过程。进一步的,所述第二服务启动模块在执行所述将本地磁盘中存储的所述服务数据加载至共享内存中的步骤时,具体用于:采用分批加载的方式,将本地磁盘中存储的,预先编译完成的二进制文件格式的服务数据通过共享内存设备的内核空间,加载至所述共享内存设备的物理内存中;所述第一服务启动模块,具体用于基于加载至所述共享内存设备的物理内存中的所述服务数据进行初始化,完成服务启动过程;所述第二服务启动模块,在执行所述基于所述共享内存中的所述服务数据进行初始化,完成服务启动过程的步骤时,具体用于基于加载至所述共享内存设备的物理内存中的所述服务数据进行初始化,完成服务启动过程。进一步的,针对所述共享内存中用于存储所述服务数据的每个存储单元,将该存储单元与起始存储单元之间的地址偏移量作为该存储单元的地址信息。进一步的,所述装置,还包括:服务提供模块,用于在所述基于所述共享内存中的所述服务数据进行初始化,完成服务启动过程之后,当接收到客户端设备发送的服务请求时,基于所述共享内存中的所述服务数据,为所述客户端设备提供与所述服务请求对应的服务。第三方面,本专利技术实施例提供了一种服务器,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现上述任一服务启动方法的步骤。第四方面,本专利技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的服务启动方法。第五方面,本专利技术实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的服务启动方法。本专利技术实施例提供的服务启动方法、装置、服务器以及计算机可读存储介质,在服务进程启动时,从共享内存中获取服务数据;所述共享内存用于存储各服务器的服务进程在启动过程中共用的所述服务数据;基于所述共享内存中的所述服务数据进行初始化,完成服务启动过程。本专利技术实施例中,在服务进程启动时,从共享内存中获取服务数据,然后基于共享内存中的服务数据进行初始化即可,服务进程启动过程中,无需多次执行将服务数据从磁盘加载至内存中的操作。根据上述过程可知,本专利技术实施例中,仅需基于共享内存中的服务数据进行初始化即可,避免了服务启动过程中的多次数据加载操作,因此,缩短了整个服务系统的服务启动时间,提高了服务启动的速度。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。图1为本专利技术实施例提供的一种服务启动方法的流程图;图2为本专利技术实施例提供的另一种服务启动方法的流程图;图3为服务启动过程中服务数据传输流程示意图;图4为本专利技术实施例提供的一种服务启动装置的结构示意图;图5为本专利技术实施例提供的一种服务器的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行描述。为了提高服务启动的速度,本专利技术实施例提供了一种服务启动方法、装置、服务器以及计算机可读存储介质。参见图1,图1为本专利技术实施例提供的一种服务启动方法的流程图,具体步骤如下:步骤101,在服务进程启动时,从共享内存中获取服务数据。所述共享内存用于存储各服务器的服务进程在启动过程中共用的所述服务数据。步骤102,基于所述共享本文档来自技高网...

【技术保护点】
1.一种服务启动方法,其特征在于,应用于服务器,所述方法包括:/n在服务进程启动时,从共享内存中获取服务数据;所述共享内存用于存储各服务器的服务进程在启动过程中共用的所述服务数据;/n基于所述共享内存中的所述服务数据进行初始化,完成服务启动过程。/n

【技术特征摘要】
1.一种服务启动方法,其特征在于,应用于服务器,所述方法包括:
在服务进程启动时,从共享内存中获取服务数据;所述共享内存用于存储各服务器的服务进程在启动过程中共用的所述服务数据;
基于所述共享内存中的所述服务数据进行初始化,完成服务启动过程。


2.根据权利要求1所述的方法,其特征在于,所述共享内存中的所述服务数据是在服务进程启动之前,预先从本地磁盘中加载至所述共享内存中的。


3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若无法从所述共享内存中获取到所述服务数据,则将本地磁盘中存储的所述服务数据加载至共享内存中,并基于所述共享内存中的所述服务数据进行初始化,完成服务启动过程。


4.根据权利要求3所述的方法,其特征在于,所述将本地磁盘中存储的所述服务数据加载至共享内存中的步骤,包括:
采用分批加载的方式,将本地磁盘中存储的,预先编译完成的二进制文件格式的所述服务数据通过共享内存设备的内核空间,加载至所述共享内存设备的物理内存中;
所述基于所述共享内存中的所述服务数据进行初始化,完成服务启动过程的步骤,包括:
基于加载至所述共享内存设备的物理内存中的所述服务数据进行初始化,完成服务启动过程。


5.根据权利要求2-4所述的方法,其特征在于,针对所述共享内存中用于存储所述服务数据的每个存储单元,将该存储单元与起始存储单元之间的地址偏移量作为该存储单元的地址信息。

【专利技术属性】
技术研发人员:康林段效晨秦占明赵艳杰罗廷方王玉东付元宝
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:北京;11

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

1