补丁加载方法,补丁压缩方法以及相关设备与流程

文档序号:29439290发布日期:2022-03-30 09:51阅读:436来源:国知局
补丁加载方法,补丁压缩方法以及相关设备与流程

1.本技术涉及软件补丁领域,尤其涉及补丁加载方法,补丁压缩方法以及相关设备。


背景技术:

2.软件补丁是计算机软件系统和软件工程学中的一个术语,它是指为了实现对系统软件中的某些错误的修改而发布的独立的软件单元。软件补丁在不影响系统正常运行的情况下完成对系统错误的修正,对系统进行动态升级。
3.软件补丁的实现需要几个关键技术,包括:补丁文件的制作、补丁的加载与同步以及补丁单元的管理,其中,补丁加载指的是将补丁文件加载到补丁区。补丁文件一般包括单板补丁压缩文件和主控板补丁压缩数据。在进行补丁加载之前,设备需要先从服务器获取补丁文件,并一次性将补丁文件解压到设备内存里,然后再进行补丁升级操作。在现在网络的嵌入式通信环境下,一台设备持续运行的时间都是以年为单位的。设备的持续运行会使得单板的内存碎片化,设备运行时间越长,内存碎片化越严重。同时,设备的软件版本不断升级,升级所需要的补丁文件也越来越大(运行时间越长,发现和解决的问题越多,功能也越丰富)。
4.在这种情况下,容易出现由于设备连续内存不足而无法完成补丁加载,软件版本升级失败的问题。且出现问题后,此设备无法再通打补丁的方式进行软件版本升级,只能重启单板、消除内存碎片后才能进行软件版本升级,这将导致设备的业务中断,影响业务的正常进行。


技术实现要素:

5.本技术提供了一种补丁加载方法,补丁压缩方法以及相关设备,可以降低因为内存碎片化导致的补丁加载失败的概率。
6.本技术第一方面提供了一种补丁加载方法。
7.该方法包括:第一设备接收服务器发送的补丁文件,补丁文件包括n个压缩文件,n为大于1的整数;第一设备依次解压n个压缩文件,并将得到的n个补丁数据依次存入目标连续内存区,n个补丁数据中的每个补丁数据包括一个或多个补丁单元;在解压下一个压缩文件前,第一设备将上一个压缩文件对应的补丁数据加载至目标程序的补丁内存区。
8.其中,将补丁文件分为多个解压文件,并依次进行补丁加载,可以降低因为第一设备内存碎片化导致的补丁加载失败的概率,从而降低第一设备业务中断的概率。
9.在第一方面的一种可选设计中,n个压缩文件包括n个加载顺序码,n个加载顺序码与n个压缩文件一一对应;第一设备按照n个加载顺序码的顺序依次解压n个压缩文件。其中,补丁文件中的补丁单元可能存在加载的时序顺序,若顺序不对,软件可能升级失败。在第一设备一次性将补丁文件解压到第一设备内存里时,不会存在解压时序的问题。本技术需要依次解压n个压缩文件,因此,需要对n个压缩文件添加加载顺序码,避免因为加载顺序问题而导致软件升级失败。
10.在第一方面的一种可选设计中,第一设备还接收服务器发送的第一请求,根据第一请求向服务器发送目标数值,目标数值为目标连续内存区的内存大小,目标数值大于n个压缩文件中的任意一个压缩文件的文件大小。其中,不管服务器将补丁文件分成多少个压缩文件,第一设备都可能存在连续内存不足的问题。本技术中的第一设备通过向服务器发送目标数值,一方面可以保证第一设备有足够的连续内存,另一方面可以避免服务器将补丁文件分成太多的压缩文件,导致软件升级的效率低下。
11.在第一方面的一种可选设计中,目标压缩文件的数据大小加目标补丁单元的数据大小大于目标数值,目标压缩文件为n个压缩文件中前n-1个压缩文件的任意一个压缩文件,目标补丁单元为目标压缩文件的后一个压缩文件中的第一个补丁单元。其中,当目标压缩文件的数据大小加目标补丁单元的数据大小大于目标数值时,可以充分利用目标数值对应的连续内存,减少压缩文件的数量,提高软件升级的效率。
12.本技术第二方面提供了一种补丁压缩方法。
13.该方法包括:服务器向第一设备发送补丁文件,补丁文件包括n个压缩文件,n为大于1的整数,n个压缩文件用于第一设备依次解压,存入目标连续内存区,得到n个补丁数据,n个补丁数据中的每个补丁数据包括一个或多个补丁单元,在解压下一个压缩文件前,上一个压缩文件对应的补丁数据被第一设备加载至目标程序的补丁内存区。
14.在第二方面的一种可选设计中,n个压缩文件包括n个加载顺序码,n个加载顺序码与n个压缩文件一一对应,n个加载顺序码用于第一设备按照n个加载顺序码的顺序依次解压n个压缩文件。
15.在第二方面的一种可选设计中,服务器向第一设备发送第一请求,接收第一设备发送的目标数值,目标数值为目标连续内存区的内存大小,目标数值大于n个压缩文件中的任意一个压缩文件的文件大小。
16.在第二方面的一种可选设计中,目标压缩文件的大小加目标补丁单元的大小大于目标数值,目标压缩文件为n个压缩文件中前n-1个压缩文件的任意一个压缩文件,目标补丁单元为目标压缩文件的后一个压缩文件中的第一个补丁单元。
17.本技术第三方面提供了一种加载补丁的装置。
18.该装置包括:接收模块,用于接收服务器发送的补丁文件,补丁文件包括n个压缩文件,n为大于1的整数;
19.解压模块,用于依次解压n个压缩文件,并将得到的n个补丁数据依次存入目标连续内存区,n个补丁数据中的每个补丁数据包括一个或多个补丁单元;
20.加载模块,用于在解压下一个压缩文件前,将上一个压缩文件对应的补丁数据加载至目标程序的补丁内存区。
21.在第三方面的一种可选设计中,n个压缩文件包括n个加载顺序码,n个加载顺序码与n个压缩文件一一对应;
22.解压模块具体用于按照n个加载顺序码的顺序依次解压n个压缩文件。
23.在第三方面的一种可选设计中,接收模块还用于接收服务器发送的第一请求;
24.装置还包括:
25.发送模块,用于根据第一请求向服务器发送目标数值,目标数值为目标连续内存区的内存大小,目标数值大于n个压缩文件中的任意一个压缩文件的文件大小。
26.在第三方面的一种可选设计中,目标压缩文件的大小加目标补丁单元的大小大于目标数值,目标压缩文件为n个压缩文件中前n-1个压缩文件的任意一个压缩文件,目标补丁单元为目标压缩文件的后一个压缩文件中的第一个补丁单元。
27.本技术第四方面提供了一种压缩补丁的装置。
28.该装置包括:发送模块,用于向第一设备发送补丁文件,补丁文件包括n个压缩文件,n为大于1的整数,n个压缩文件用于第一设备依次解压,存入目标连续内存区,得到n个补丁数据,n个补丁数据中的每个补丁数据包括一个或多个补丁单元,在解压下一个压缩文件前,上一个压缩文件对应的补丁数据被第一设备加载至目标程序的补丁内存区。
29.在第四方面的一种可选设计中,n个压缩文件包括n个加载顺序码,n个加载顺序码与n个压缩文件一一对应,n个加载顺序码用于第一设备按照n个加载顺序码的顺序依次解压n个压缩文件。
30.在第四方面的一种可选设计中,发送模块还用于向第一设备发送第一请求;
31.装置还包括:
32.接收模块,用于接收第一设备发送的目标数值,目标数值为目标连续内存区的内存大小,目标数值大于n个压缩文件中的任意一个压缩文件的文件大小。
33.在第四方面的一种可选设计中,目标压缩文件的大小加目标补丁单元的大小大于目标数值,目标压缩文件为n个压缩文件中前n-1个压缩文件的任意一个压缩文件,目标补丁单元为目标压缩文件的后一个压缩文件中的第一个补丁单元。
34.本技术第五方面提供了一种加载补丁的设备。
35.该设备包括处理器和收发器,收发器用于接收服务器发送的补丁文件,补丁文件包括n个压缩文件,n为大于1的整数;
36.处理器用于依次解压n个压缩文件,并将得到的n个补丁数据依次存入目标连续内存区,n个补丁数据中的每个补丁数据包括一个或多个补丁单元;
37.处理器还在解压下一个压缩文件前,将上一个压缩文件对应的补丁数据加载至目标程序的补丁内存区。
38.在第五方面的一种可选设计中,n个压缩文件包括n个加载顺序码,n个加载顺序码与n个压缩文件一一对应;
39.处理器具体用于按照n个加载顺序码的顺序依次解压n个压缩文件。
40.在第五方面的一种可选设计中,收发器还用于接收服务器发送的第一请求;
41.收发器还用于根据第一请求向服务器发送目标数值,目标数值为目标连续内存区的内存大小,目标数值大于n个压缩文件中的任意一个压缩文件的文件大小。
42.在第五方面的一种可选设计中,目标压缩文件的大小加目标补丁单元的大小大于目标数值,目标压缩文件为n个压缩文件中前n-1个压缩文件的任意一个压缩文件,目标补丁单元为目标压缩文件的后一个压缩文件中的第一个补丁单元。
43.本技术第六方面提供了一种压缩补丁的设备。
44.该设备包括:处理器和收发器,处理器用于压缩n个补丁数据,获得n个压缩数据;
45.收发器用于向第一设备发送补丁文件,补丁文件包括n个压缩文件,n为大于1的整数,n个压缩文件用于第一设备依次解压,存入目标连续内存区,得到n个补丁数据,n个补丁数据中的每个补丁数据包括一个或多个补丁单元,在解压下一个压缩文件前,上一个压缩
文件对应的补丁数据被第一设备加载至目标程序的补丁内存区。
46.在第六方面的一种可选设计中,n个压缩文件包括n个加载顺序码,n个加载顺序码与n个压缩文件一一对应,n个加载顺序码用于第一设备按照n个加载顺序码的顺序依次解压n个压缩文件。
47.在第六方面的一种可选设计中,收发器还用于向第一设备发送第一请求;
48.收发器还用于接收第一设备发送的目标数值,目标数值为目标连续内存区的内存大小,目标数值大于n个压缩文件中的任意一个压缩文件的文件大小。
49.在第六方面的一种可选设计中,目标压缩文件的大小加目标补丁单元的大小大于目标数值,目标压缩文件为n个压缩文件中前n-1个压缩文件的任意一个压缩文件,目标补丁单元为目标压缩文件的后一个压缩文件中的第一个补丁单元。
50.本技术第七方面提供了一种计算机存储介质,其特征在于,所述计算机存储介质中存储有指令,所述指令在计算机上执行时,使得所述计算机执行如第一方面或第一方面任意一种实施方式所述的方法;或使得所述计算机执行如第二方面或第二方面任意一种实施方式所述的方法。
51.本技术第八方面提供了一种计算机程序产品,其特征在于,所述计算机程序产品在计算机上执行时,使得所述计算机执行如第一方面或第一方面任意一种实施方式所述的方法;或使得所述计算机执行如第一方面或第一方面任意一种实施方式所述的方法。
附图说明
52.图1为补丁解压中采用整体解压的方法流程图;
53.图2为连续内存的一个结构示意图;
54.图3为本技术实施例中补丁技术的处理流程示意图;
55.图4为本技术实施例中应用场景的一个示意图;
56.图5为本技术实施例中补丁压缩方法和补丁加载方法的流程示意图;
57.图6为本技术实施例中补丁压缩的流程示意图;
58.图7为本技术实施例的补丁解压中采用依次解压的方法流程图;
59.图8为本技术实施例中加载补丁的装置的结构示意图;
60.图9为本技术实施例中压缩补丁的装置的结构示意图;
61.图10为本技术实施例中加载补丁的设备或压缩补丁的设备的结构示意图。
具体实施方式
62.本技术实施例提供了一种补丁加载方法,补丁压缩方法以及相关设备,应用于软件补丁领域,可以降低因为内存碎片化导致的补丁加载失败的概率,从而降低业务中断的概率。
63.在嵌入式通信设备中,补丁技术是软件版本升级的一个重要方法。特别是热补丁(升级)技术是应用最为广泛的一个技术,它可以通过软件补丁保证在不重启设备的场景下完成软件版本的升级,对设备上正在运行的业务不影响或很小影响。
64.传统的补丁技术的流程如图1所示,图1为补丁解压中采用整体解压的方法流程图。设备获取到补丁文件101后,一次性将补丁文件101解压到设备的缓冲区中(也称为整体
解压)。例如,补丁文件101包括单板补丁压缩文件和主控板补丁压缩文件。设备将补丁文件101中的主控板补丁压缩文件解压到主控板补丁缓冲区102,得到主控板补丁数据,主控板补丁数据包括主控板补丁单元1~n1。之后,设备将主控板补丁数据加载到主控板补丁内存区104,从而完成主控板补丁加载。在设备将补丁文件101中的主控板补丁压缩文件解压到主控板补丁缓冲区102的同时,设备还将补丁文件101中的单板补丁压缩文件解压到单板补丁缓冲区103,得到单板补丁数据,单板补丁数据包括单板补丁单元1~n2。之后,设备将单板补丁数据加载到单板补丁内存区105,从而完成单板补丁加载。
65.但是,一台设备持续运行的时间都是以年为单位的。设备的持续运行会带来单板的内存碎片化问题,设备运行时间越长,内存碎片化越严重。同时,设备软件版本升级所需要的补丁文件也越来越大(运行时间越长,发现和解决的问题越多,功能也越丰富)。两相作用下,容易出现由于设备连续内存不足而导致的补丁无法加载、软件版本升级失败的问题。具体地,如图2所示,图2为连续内存的一个结构示意图。假设设备包括150m的空闲内存。150m的空闲内存包括3个连续的内存区,分别为50m连续内存区,20m连续内存区和80m连续内存区,这3个连续内存区之间互相不连续。假设图1中单板补丁压缩文件解压后的文件,即单板补丁数据的大小为81m。在这种情况下,单板补丁数据无法缓存如上述3个内存区中的任意一个内存区,导致解压不完整或解压失败,补丁加载失败。且出现问题后,设备无法再通过补丁技术进行软件版本升级,只能重启单板、消除内存碎片后才能进行软件版本升级,这必将导致设备上业务中断,引发相关问题。
66.为此,本技术实施例提供了一种补丁压缩方法和补丁加载方法,在补丁压缩方法中,服务器将补丁单元分成多个组,不同的组分别进行压缩,得到多个压缩文件的补丁文件。在补丁加载方法中,第一设备接收服务器发送的补丁文件,对依次解压补丁文件中多个压缩文件至同一连续内存区,为了方便描述,将此连续内存区称为目标连续内存区。在解压下一个压缩文件前,第一设备将上一个压缩文件对应的补丁数据加载至目标程序的补丁内存区,得到的多个补丁数据用于升级该目标程序。利用上述方法,可以将一个压缩文件分为多个压缩文件,降低了单个压缩文件的大小,从而降低因为内存碎片化导致的补丁加载失败的概率,降低业务中断的概率。
67.为了方便理解本技术实施例中提供的方法,先对补丁技术的处理流程进行相关描述。请参阅图3,图3为本技术实施例中补丁技术的处理流程示意图。如图3所示,补丁技术的处理流程可以包括补丁制作301,补丁压缩302,补丁解压303和补丁加载304。补丁制作301是指生成补丁单元的过程,包括但不限于手工输入,软件生成等。手工输入一般是指程序员通过分析目标程序存在的问题,或需要升级的内容,针对性的对一个问题或一个内容编写一个或多个补丁单元。如果对目标程序生成多个补丁单元,则会通过补丁压缩302将生成的多个补丁单元划分成多个组,压缩得到多个压缩文件。补丁解压303用于依次解压多个压缩文件中的压缩文件,并将解压得到的多个补丁数据依次存入目标连续内存区。补丁加载304用于在解压下一个压缩文件前,将上一个压缩文件对应的补丁数据加载至目标程序的补丁内存区。
68.上面对补丁技术的处理流程进行了阐述,将补丁技术的处理流程划分为补丁制作301,补丁压缩302,补丁解压303和补丁加载304。处理流程需要具体的计算机设备来执行,不同的步骤可以在不同的计算机设备中完成,也可以在相同的计算机设备中完成。例如,请
参阅图4,图4为本技术实施例中应用场景的一个示意图。图4包括服务器401和第一设备402。服务器401获取用于升级目标软件的多个补丁单元,多个补丁单元可以是服务器401通过补丁制作301得到,也可以是服务器401从其他设备得到的。服务器401通过执行步骤补丁解压303,得到多个压缩文件。在得到多个压缩文件后服务器401向第一设备402传递多个压缩文件。第一设备402通过步骤303对多个压缩文件进行解压,得到多个补丁数据。并且,第一设备402通过执行步骤304,完成补丁数据的加载。本技术实施例中,后续将以图4为例进行说明,其他场景下的相应处理可以参考对图4中的场景的描述。
69.在图4的应用场景中,服务器401可以是台式电脑,笔记本等拥有存储能力,计算能力的计算机设备,还可以是云存储设备,例如云服务器。第一设备402可以是接入网设备,例如长期演进(long term evolution,lte)基站,演进型基站(evolved node b,enb)等,还可以是路由器,交换机等网元设备。第一设备402可以与服务器401建立连接,也可以不建立连接。若第一设备402与服务器401建立连接,连接的方式可以是有线连接,也可以是无线连接,无线连接可以是无线热点或蓝牙等。若第一设备402与服务器401不建立连接,多个压缩文件可以依靠存储介质传递,例如u盘。
70.下面将结合附图,对本技术中的技术方案进行描述。示例性的,本技术实施例所涉及附图中的以虚线标识的特征或内容可理解为实施例可选的操作或者可选的结构。
71.请参阅图5,图5为本技术实施例中补丁压缩方法和补丁加载方法的流程示意图。
72.在步骤501中,服务器向第一设备发送第一请求。
73.第一请求用于确认第一设备可用的最大连续内存的空间大小。
74.在步骤502中,第一设备向服务器发送目标数值。
75.目标数值为目标连续内存区的内存大小,该目标连续内存区为第一设备可以分配给此次软件升级使用的连续内存区。
76.在其他的实施例中,多个压缩文件的最大值是默认值,例如默认值为2m。若第一设备可用的最大连续内存区的空间大于2m,则在步骤502中,第一设备可以只回复个确认消息,而不必回复目标数值。
77.在步骤503中,服务器根据目标数值压缩补丁单元,得到补丁文件,补丁文件包括n个压缩文件。
78.为了方便理解,下面进行举例说明,假设目标数值为1m。如图6所示,图6为本技术实施例中补丁压缩的流程示意图。在图6中,服务器对补丁单元1~n进行压缩,得到n个压缩文件的补丁文件。其中,补丁单元1~n可以全是单板补丁单元,也可以全是主控板补丁单元,还是可以单板补丁单元和主控板补丁单元的组合。补丁单元括号中的数值表示该补丁单元压缩后的数据大小,例如,补丁单元1(200kb)表示补丁单元1压缩后的大小为200kb。压缩文件后的数值表示压缩文件的大小,例如,压缩文件1 870kb表示压缩文件1的大小为870kb。在图6中,补丁单元1~3被压缩成了压缩文件1,补丁单元4被压缩成了压缩文件2,补丁文件5和6被压缩成了压缩文件3,其他的描述请参阅图6。需要说明的是,图6只是为了方便说明了举的一个事例,在实际应用中,有可能有更多的补丁单元被压缩成一个压缩文件,或者说补丁文件中包括更多或更少的压缩文件。
79.n个压缩文件包括n个加载顺序码,例如图6中压缩文件的后缀1,2,3,4

n。当然,在实际应用中,可以使用其他的标识作为加载顺序码,例如a,b,c,d等。补丁单元1~n是存
在顺序的。补丁单元的顺序具体与补丁单元的内容相关。比如,补丁单元3为了修复原定时器问题,新实现了一个定时器函数具体功能(如定时刷新路由),而补丁单元4是新增了一个定时器。正常补丁加载时,需要先补丁单元3再加载补丁单元4,因此补丁单元3和补丁单元4存在顺序。如果先加载补丁单元4,在还没加载补丁单元3时,可能存在定时器被触发,调用了一个还没有的符号作为函数地址,导致第一设备异常。在图6的的事例中,在补丁单元3和补丁单元4存在顺序情况下,压缩文件1和压缩文件2也存在顺序。因此,n个压缩文件包括n个加载顺序码,用于表示n个压缩文件的加载顺序。
80.此处对补丁单元的定义做一个说明,一般定义补丁单元为解决一个问题,或为更新某个内容而生成的一个或多个文件。具体地,文件名的后缀为“.o”的文件是obj文件,俗称目标文件。一个obj文件可以理解为一个补丁单元,多个obj文件链接成一个obj文件也可以理解为一个补丁单元。
81.在本技术实施例中,每个压缩文件的大小都小于目标数值1m。即使压缩文件还不足1m,也不会通过添加下个补丁单元的部分内容,使得压缩文件达到目标数值。例如压缩文件1为870kb,不会将补丁单元4中的部分内容压缩进压缩文件1,使得压缩文件的大小达到1m。
82.目标压缩文件的大小加目标补丁单元的大小大于目标数值,目标压缩文件为n个压缩文件中前n-1个压缩文件的任意一个压缩文件,目标补丁单元为目标压缩文件的后一个压缩文件中的第一个补丁单元。在图6所示的事例中,目标压缩文件可以压缩文件1~n-1。具体地,以目标压缩文件为压缩文件1为例,此时,目标补丁单元为补丁单元4,压缩文件1的大小加压缩后的补丁单元4的大小大于目标数值,即大于1m。
83.需要说明的是,若不执行步骤501和步骤502,服务器可以根据默认的连续内存大小压缩补丁文件,例如根据经验认为第一设备在正常业务场景下肯定能申请5m的连续内存,则将补丁单元按顺序加入压缩文件中,直到超过5m大小,并则退回上一个补丁单元,新增加一个压缩文件,继续按补丁单元的顺序将未加入压缩文件中的补丁单元加入新的压缩文件,直到超过5m大小,
……
,以此类推,直到所有补丁单元都加入到压缩文件中。
84.在步骤504中,服务器向第一设备发送补丁文件。
85.在步骤505中,第一设备依次解压n个压缩文件,得到n个补丁数据。
86.请参阅图7,图7为本技术实施例的补丁解压中采用依次解压的方法流程图。为了方便理解,图7中的补丁文件继承了图6中服务器得到的补丁文件。在第一设备得到补丁文件后,第一设备依次解压补丁文件中的n个压缩文件,得到n个补丁数据。依次解压的顺序可以是n个加载顺序码的顺序。需要说明的是,在图7中的目标补丁连续内存区中,虽然图示补丁数据包括补丁单元1~n,但是在实际应用中,在同一时刻,目标补丁连续内存区并不会同时包括补丁单元1~n。并且目标补丁连续内存区可能不会同时包括2个完整的补丁数据。因为在解压下一个压缩文件前,第一设备会将上一个压缩文件对应的补丁数据加载至目标程序的补丁内存区。例如,以图7为例,在第一设备解压压缩文件1后,得到的补丁数据包括补丁单元1~3。第一设备将得到的补丁数据从目标连续内存区加载至目标程序的补丁内存区。加载完后,第一设备开始解压压缩文件2,得到的补丁数据包括补丁单元4。第一设备将得到的补丁数据从目标连续内存区加载至目标程序的补丁内存区。加载完后,第一设备开始解压压缩文件3
……
,以此类推,直至解压完n个压缩文件。
87.在步骤506中,第一设备依次加载n个补丁数据。
88.如在步骤505中的描述,第一设备依次加载目标补丁连续内存区中的补丁数据,直至加载完n个补丁数据。
89.上面对本技术实施例中补丁压缩方法和补丁加载方法进行了描述,下面对本技术实施例中的加载补丁的装置进行描述。
90.请参阅图8,图8为本技术实施例中加载补丁的装置的结构示意图。
91.该装置包括:接收模块801,用于接收服务器发送的补丁文件,补丁文件包括n个压缩文件,n为大于1的整数;
92.解压模块802,用于依次解压n个压缩文件,并将得到的n个补丁数据依次存入目标连续内存区,n个补丁数据中的每个补丁数据包括一个或多个补丁单元;
93.加载模块803,用于在解压下一个压缩文件前,将上一个压缩文件对应的补丁数据加载至目标程序的补丁内存区。
94.在其他实施例中,该装置还可以包括发送模块等。该装置中的模块具体用于执行前述图5对应的实施例中的第一设备可以执行的全部或部分操作。
95.上面对本技术实施例中加载补丁的装置进行了描述,下面对本技术实施例中的压缩补丁的装置进行描述。
96.请参阅图9,图9为本技术实施例中压缩补丁的装置的结构示意图。
97.该装置包括:发送模块901,用于向第一设备发送补丁文件,补丁文件包括n个压缩文件,n为大于1的整数,n个压缩文件用于第一设备依次解压,存入目标连续内存区,得到n个补丁数据,n个补丁数据中的每个补丁数据包括一个或多个补丁单元,在解压下一个压缩文件前,上一个压缩文件对应的补丁数据被第一设备加载至目标程序的补丁内存区。
98.在其他实施例中,该装置还可以包括接收模块等。该装置中的模块具体用于执行前述图5对应的实施例中的服务器可以执行的全部或部分操作。
99.上面对本技术实施例中加载补丁的装置和压缩补丁的装置进行了描述,下面对本技术实施例中的加载补丁的设备进行描述。
100.请参阅图10,图10为本技术实施例中加载补丁的设备或压缩补丁的设备的结构示意图。
101.如图10所示,加载补丁的设备或压缩补丁的设备1000包括处理器1010,与所述处理器1010耦接的收发器1020。处理器1010可以是中央处理器(central processing unit,cpu),网络处理器(network processor,np)或者cpu和np的组合。处理器还可以是专用集成电路(application-specific integrated circuit,asic),可编程逻辑器件(programmable logic device,pld)或其组合。上述pld可以是复杂可编程逻辑器件(complex programmable logic device,cpld),现场可编程逻辑门阵列(field-programmable gate array,fpga),通用阵列逻辑(generic array logic,gal)或其任意组合。处理器1010可以是指一个处理器,也可以包括多个处理器。
102.在其他实施例中,加载补丁的设备或压缩补丁的设备还包括存储器,存储器可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram);存储器也可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,rom),fram存储器,快闪存储器(flash memory),硬盘(hard disk drive,
hdd)或固态硬盘(solid-state drive,ssd);存储器还可以包括上述种类的存储器的组合。
103.当图10是加载补丁的设备的结构示意图时:
104.收发器1020用于接收服务器发送的补丁文件,补丁文件包括n个压缩文件,n为大于1的整数;
105.处理器1010用于依次解压n个压缩文件,并将得到的n个补丁数据依次存入目标连续内存区,n个补丁数据中的每个补丁数据包括一个或多个补丁单元;
106.处理器1010还在解压下一个压缩文件前,将上一个压缩文件对应的补丁数据加载至目标程序的补丁内存区。
107.在其他实施例中,加载补丁的设备或压缩补丁的设备还包括存储器,存储器可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram);存储器也可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,rom),fram存储器,快闪存储器(flash memory),硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd);存储器还可以包括上述种类的存储器的组合。
108.当图10是压缩补丁的设备的结构示意图时:
109.处理器1010用于压缩n个补丁数据,获得n个压缩数据;
110.收发器1020用于向第一设备发送补丁文件,补丁文件包括n个压缩文件,n为大于1的整数,n个压缩文件用于第一设备依次解压,存入目标连续内存区,得到n个补丁数据,n个补丁数据中的每个补丁数据包括一个或多个补丁单元,在解压下一个压缩文件前,上一个压缩文件对应的补丁数据被第一设备加载至目标程序的补丁内存区。
111.在其他实施例中,处理器1010还用于执行存储器中的计算机可读指令后,按照所述计算机可读指令的指示,执行服务器可以执行的全部或部分操作,例如服务器在与图5对应的实施例中执行的操作。
112.在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其他的形式。
113.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
114.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
115.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机
第一设备(可以是个人计算机,服务器,或者网络第一设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:闪存盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1