一种补丁包组件生成、处理方法及装置的制造方法_2

文档序号:9274582阅读:来源:国知局
则执行补丁包组件的功能,若编译日期大于服务截止日期,说明运行该软件的客户已过了服务期限,不能再享受补丁包升级服务,则不执行补丁包组件的功能,此处的不执行补丁包组件的功能可以是直接将补丁包组件丢弃,具体此处不做限定。
[0046]本发明实施例中,服务器在生成组件时,获取当前日期作为编译日期,并获取服务期校验指示,将编译日期和服务期校验指示与补丁包程序进行编译以生成补丁包组件。本方案将组件的编译日期硬编码进组件中,外部无法更改和破解,所以没有交服务费的客户即使拷贝补丁包中的组件也不能享受到产品补丁服务,从而能够防止补丁包被破解。
[0047]进一步,在一种具体的实施方式中,服务器生成的补丁包组件可以常用的DLL组件,也可以是对象类别扩充组件(OCX,Object Linking and Embedding Controlextens1n),还可以是其他组件,具体此处不做限定。
[0048]服务器在发布补丁包,或者服务商将补丁包提供给客户后,客户端可以运行补丁包,加载补丁包中的组件以进行漏洞的修复。
[0049]下面结合图2对本发明实施例中客户端处理补丁包组件的方法进行详细说明。
[0050]201、客户端获取补丁包组件;
[0051]服务器发布补丁包后,客户可以通过网络从服务器上下载补丁包组件,或者服务器编译好补丁包后,服务商将补丁包通过邮件等其他途径发送给客户,客户再安装该补丁包。客户安装完补丁包后,客户端可以获取到相应的软件安装包下的补丁包组件。
[0052]客户端获取的该补丁包组件中包括补丁包组件的编译日期与服务期校验指示。该服务期校验指示可以为一段可执行的代码,目的为防止补丁包组件被破解。
[0053]需要说明的是,在客户安装补丁包的过程中,不进行服务期校验,用户可以直接安装部署补丁包中的所有补丁包组件,在客户端加载组件时,才进行服务期的校验。
[0054]202、客户端获取补丁包组件对应的软件的服务截止日期;
[0055]客户端在获取到补丁包组件之后,当加载补丁包组件时,客户端进行补丁包组件的服务期校验。
[0056]客户端获取补丁包组件对应的软件的服务截止日期,具体可以是当前登录系统的用户的软件使用范围授权许可证License中的使用截止日期。
[0057]203、客户端根据服务期校验指示将编译日期与服务截止日期进行比较;
[0058]客户端在获取到补丁包组件对应的软件的服务截止日期后,根据补丁包组件中的服务期校验指示将编译日期与服务截止日期进行比较。
[0059]204、若编译日期小于或等于服务截止日期,则客户端执行补丁包组件的功能;
[0060]若补丁包组件中的编译日期小于或等于服务截止日期,则说明此时登录的客户仍在服务期限内,则可以加载该补丁包组件。
[0061]205、若编译日期大于服务截止日期,则客户端不执行补丁包组件的功能。
[0062]若补丁包组件中的编译日期大于服务截止日期,说明此时登录的客户已过了服务期限,不能再享受补丁包升级服务,则不执行补丁包组件的功能,此处的不执行补丁包组件的功能可以是直接将补丁包组件丢弃,具体此处不做限定。
[0063]本发明实施例中,客户端获取补丁包组件中包括补丁包组件的编译日期和服务期校验指示,客户端根据服务期校验指示将编译日期与该补丁包对应的软件的服务截止日期进行比较,若编译日期小于或等于服务截止日期,则客户端执行补丁包组件的功能,若编译日期大于服务截止日期,则客户端不执行补丁包组件的功能。本方案将组件的编译日期硬编码进组件中,外部无法更改和破解,所以没有交服务费的客户即使拷贝补丁包中的组件也不能享受到产品补丁服务,从而能够防止补丁包被破解。
[0064]进一步,在一种具体的实施方式中,当用户登录到该组件包对应的业务系统时,或,当用户处于登录状态中,使用组件对应的功能时,客户端会获取补丁包组件,从而加载补丁包组件。
[0065]进一步,在一种具体的实施方式中,客户端是从业务系统的服务器中获取补丁包对应的软件的服务截止日期,具体为先获取当前登录的用户的用户信息,例如账户名,再根据用户信息从业务系统的服务器中获取该用户的服务截止日期。
[0066]进一步,在一种具体的实施方式中,服务器生成的补丁包组件可以常用的DLL组件,也可以是对象类别扩充组件(OCX,Object Linking and Embedding ControlExtens1n),还可以是其他组件,具体此处不做限定。
[0067]为便于理解,下面以一具体的应用场景对本发明实施例中的补丁包组件的生成和处理进行详细描述,本发明实施例中另一实施例包括:
[0068]以某办公自动化(OA,Office Automat1n)系统为例,A公司从该OA系统的服务商购买该OA系统时,OA系统服务商在该OA系统的服务器上给A公司进行了开户,分配唯一的License,该License在服务器上对应了 A公司服务截止日期,当超过服务截止日期时,若A公司不进行续费,将不能再使用该OA系统。
[0069]当OA系统出现漏洞时,服务商通过编译补丁程序生成补丁包,生成补丁包的执行主体为补丁服务器,具体过程如下:
[0070]补丁服务器获取服务器的当前日期作为编译日期,用常量OCurFileDate表示,并获取服务期校验指示代码,之后将编译日期、服务期校验指示与补丁程序一起进行编译以生成补丁包,该补丁包一个或多个补丁包DLL组件,例如:K3MainApp.dll, K3Funct1n.dll,这两个DLL中都包含了编译时间及服务期校验指示。
[0071]服务器发布补丁包之后,客户下载该补丁包进行安装,安装成功后,当客户登录该OA系统后,会自动加载该补丁包中的DLL组件,此时会获取到DLL组件中的编译日期常量OCurFileDate,以及服务期校验指示,根据服务期校验指示从OA系统服务器上获取A公司的服务截止日期(用常量OEndDate表示),把编译日期和服务截止日期做比较来实现服务期控制,比较规则如下:
[0072]如果OCurFiIeDate〈 = OEndDate,表明在有效服务期内,可以正常登录软件系统和使用相应软件功能,可享受产品补丁服务;
[0073]如果OCurFiIeDate>@EndDate,表明不在有效服务期内,会提示需要续服务费,中止登录软件系统和使用相应软件功能,不能享受产品补丁服务。
[0074]由于当前文件日期OCurFileDate已经硬编码进DLL组件中,夕卜部根本无法更改与破解。这样即使不在服务期内的客户通过非法途径获得了补丁中的这些DLL组件,并成功替换部署,那么在这些客户真正登录软件系统或者使用相应软件功能时,照样会调用相应的服务期控制,从而使原来的非法破解途径失效,实现控制不在服务期内的客户不能非法早受广品补丁服务。
[0075]以上介绍了补丁包组件的生成及处理方法,下面从功能模块的角度介绍生成补丁包组件的服务器以及处理补丁包组件的客户端。
[0076]下面结合图3对本发明实施例中补丁服务器3进行详细说明,本发明实施例中的补丁服务器3包括:
[0077]第一获取模块301,用于获取当前日期作为编译日期;
[0078]第二获取模块302,用于获取服务期校验指示;
[0079]编译模块303,用于将编译日期和服务期校验指示与补丁包程序进行编译以生成补丁包组件,服务期校验指示用于使得客户端将编译日期与补丁包组件对应的软件的服务截止日期进行比较,若编译日期小于或等于服务截止日期,则执行补丁包组件的功能,若编译日期大于服务截止日期,则不执行补丁包组件的功能。
[0080]本发明实施例补丁服务器3的各单元之间的交互过程可以参阅前述图1所示实施例中的交互过程,具体此处不再赘述。
[0081 ] 本发明实施例中,服务器3在生成组件时,第一获取模块301获取当前日期作为编译日期,第二获取模块302获取服务期校验指示,编译模块303将编译日期和服务期校验指示与补丁包程序进行编译以生成补丁包组件。本方案编译模块303将组件的编译日期硬编码进组件中,外部无法更改和破解,所以没有交服务费的客户即使拷贝补丁包中的组件也不能享受到产品补丁服务,从而能够防止补丁包被破解。
[0082]结合图4,本发明实施例提供了一种客户端设备4,包括:
[0083]第一获取模块401,用
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1