一种基于即时通信软件实现插件升级的方法及装置制造方法及图纸

技术编号:8863373 阅读:187 留言:0更新日期:2013-06-28 02:30
本发明专利技术公开了一种基于即时通信软件实现插件升级的方法及装置。该方法包括:获取待升级IM软件插件所调用版本的基本元素;扫描客户端侧,获取客户端IM软件的基本元素;分别匹配所述待升级IM软件插件调用版本的基本元素与客户端IM软件的同类型基本元素,获取与所述待升级IM软件插件所调用版本的基本元素相匹配的客户端;向所述相匹配的客户端IM软件发布待升级IM软件插件。应用本发明专利技术,可以提高IM软件的业务覆盖率、简化获取新互联网服务的操作流程。

【技术实现步骤摘要】
一种基于即时通信软件实现插件升级的方法及装置
本专利技术涉及即时通信(IM,InstantMessaging)技术,特别涉及一种基于即时通信软件实现插件升级的方法及装置。
技术介绍
随着计算机网络技术以及第三代移动通信(3G,3rdGeneration)互联网技术的发展,通过点对点的技术来实现互联网上的即时沟通的IM软件工具应用越来越普遍,IM软件工具已经被大多数的用户所接受并成为用户日常生活、工作的交流与沟通中必不可少的一部分。而随着IM软件的普及,早期IM软件工具中单一的聊天功能的互联网服务显然已不能满足用户多样化的需求,越来越多的运营商开始重视在IM软件上加载各种收费或者免费的互联网服务以形成IM软件的插件的方式来满足用户多样化的需求,同时拓展业务,用户通过安装以二进制动态链接库(DLL,DynamicLinkLibrary)形式存在的IM软件的插件,可以获取其通过IM软件提供的互联网服务(业务)。例如,在IM软件中,以作为腾讯公司各业务推广平台的QQ软件来说,QQ软件上承载了大量的互联网服务和入口,例如,QQ会员功能、QQ黄钻功能、一键进入QQ邮箱入口以及QQ空间入口等。这些功能和入口,为用户体验腾讯公司在QQ软件上提供的各项互联网服务提供了方便。现有IM软件上承载的各种收费或免费的互联网服务,即IM软件的插件,打包在IM软件中,随同IM软件进行下载并由用户安装使用,如果运营商需要对IM软件的插件进行升级,例如,拓展新的收费或免费的互联网服务,则需要重新将升级的插件打包在原有的IM软件或升级的IM软件中,然后发布出去。这样,如果用户为了体验新的互联网服务,在获取发布的IM软件的插件后,通过下载承载新互联网服务的IM软件的插件,并成功安装后,可以体验IM软件承载的互联网服务。由上述可见,现有基于IM软件实现插件升级的方法,需要将升级的插件打包在IM软件中,用户通过安装IM软件的插件,才能体验该IM软件上承载的互联网服务,因而,即使是对于同一IM软件,只要其承载的互联网服务进行了升级,就需要重新下载该打包的IM软件的插件,不仅使得同一IM软件的业务覆盖率较低、获取新互联网服务的操作较为繁琐,还使得用户网络流量较大,用户成本上升。
技术实现思路
有鉴于此,本专利技术的主要目的在于提出一种基于即时通信软件实现插件升级的方法,提高IM软件的业务覆盖率、简化获取新互联网服务的操作流程。本专利技术的另一目的在于提出一种基于即时通信软件实现插件升级的装置,提高IM软件的业务覆盖率、简化获取新互联网服务的操作流程。为达到上述目的,本专利技术提供了一种基于即时通信软件实现插件升级的方法,该方法包括:获取待升级IM软件插件所调用版本的基本元素;扫描客户端侧,获取客户端IM软件的基本元素;分别匹配所述待升级IM软件插件调用版本的基本元素与客户端IM软件的同类型基本元素,获取与所述待升级IM软件插件所调用版本的基本元素相匹配的客户端;向所述相匹配的客户端IM软件发布待升级IM软件插件。所述基本元素包括:导出函数、接口、枚举值和结构体。所述获取待升级IM软件插件所调用版本的基本元素包括:扫描服务器,获取IM软件中的动态链接库DLL文件;解析DLL文件中可移植的执行体文件的结构,提取结构中的导出表信息,获取导出函数;利用服务器中微软数据终结设备自动化接口,扫描服务器IM软件中的所有文件,分别获取接口、枚举值和结构体。通过调用扫描函数扫描服务器中的DLL文件,获取所述IM软件中的动态链接库DLL文件;通过微软数据终结设备自动化接口调用源代码扫描函数,扫描IM软件中的所有文件,分别获取所述接口、枚举值和结构体。在所述获取客户端IM软件的基本元素后,进一步包括:将获取的客户端IM软件的基本元素与对应的客户端标识信息进行存储。所述分别匹配所述待升级IM软件插件调用版本的基本元素与客户端IM软件的同类型基本元素,获取与所述待升级IM软件插件所调用版本的基本元素相匹配的客户端包括:获取待升级插件所调用版本的IM软件的基本元素中的导出函数、接口、枚举值和结构体,分别与所述待升级IM软件插件所调用版本的同类型的IM软件的基本元素中的导出函数、接口、枚举值和结构体进行匹配,确定导出函数、接口、枚举值和结构体匹配成功,根据与调用版本的IM软件相匹配的同类型的IM软件,获取对应的客户端信息。所述确定导出函数匹配成功包括:分别匹配调用所述待升级IM软件插件与客户端IM软件中导出函数的函数名、返回值、参数个数和类型,如果二者导出函数的所有参数都相同,则导出函数匹配成功。所述确定接口匹配成功包括:匹配调用所述待升级IM软件插件与客户端IM软件中接口的接口名,如果接口名相同,再匹配接口的成员函数,如果二者接口的成员函数相同,确定接口匹配成功。所述确定枚举值匹配成功包括:分别匹配调用所述待升级IM软件插件与客户端IM软件的枚举值中枚举成员的位置和值,如果二者枚举成员的位置和值都相同,确定枚举值匹配成功。所述确定结构体匹配成功包括:分别匹配调用所述待升级IM软件插件与客户端IM软件的结构体成员的类型、成员名、位置,如果二者结构体成员的类型、成员名、位置都相同,确定结构体匹配成功。所述向所述相匹配的客户端IM软件发布待升级插件包括:向所述相匹配的客户端输出待升级IM软件插件提示信息;接收客户端返回的确认升级IM软件插件信息;将待升级IM软件插件输出至所述返回确认待升级IM软件插件信息的客户端。一种基于即时通信软件实现插件升级的装置,该装置包括:扫描模块、匹配模块以及发布模块,其中,获取模块,用于获取待升级即时通信IM软件插件所调用版本的基本元素;扫描模块,用于扫描各客户端,获取客户端IM软件的基本元素;匹配模块,分别匹配所述待升级IM软件插件调用版本的基本元素和与所述客户端IM软件的同类型基本元素,获取与所述待升级IM软件插件所调用版本的基本元素相匹配的客户端;发布模块,向所述相匹配的客户端IM软件发布待升级IM软件插件。进一步包括:存储模块,采用MySQL数据库存储待升级IM软件插件所调用版本的基本元素、以及,与所述客户端IM软件的同类型基本元素与对应的客户端标识信息。所述扫描模块包括:第一扫描单元以及第二扫描单元,其中,第一扫描单元,分别扫描服务器以及客户端,获取IM软件中的DLL文件,解析DLL文件中PE文件的结构,提取结构中的导出表信息,获取导出函数。第二扫描单元,利用服务器中微软DTE自动化接口,遍历服务器以及客户端,扫描IM软件中的所有文件,分别获取接口、枚举值和结构体。所述匹配模块包括:导出函数匹配单元、接口匹配单元、枚举值匹配单元、结构体匹配单元以及匹配结果处理单元,其中,导出函数匹配单元,从存储模块中分别获取待升级IM软件插件所调用版本的基本元素中的导出函数、以及,与所述客户端IM软件的同类型基本元素中的导出函数,进行匹配,向匹配结果处理单元输出导出函数匹配结果信息;接口匹配单元,从存储模块中分别获取待升级IM软件插件所调用版本的基本元素中的接口、以及,与所述客户端IM软件的同类型基本元素中的接口,进行匹配,向匹配结果处理单元输出接口匹配结果信息;枚举值匹配单元,从存储模块中分别获取待升级IM软件插件所调用版本的基本元素中的枚举值、以及,与所述客本文档来自技高网
...
一种基于即时通信软件实现插件升级的方法及装置

【技术保护点】
一种基于即时通信IM软件实现插件升级的方法,其特征在于,该方法包括:获取待升级IM软件插件所调用版本的基本元素;扫描客户端侧,获取客户端IM软件的基本元素;分别匹配所述待升级IM软件插件调用版本的基本元素与客户端IM软件的同类型基本元素,获取与所述待升级IM软件插件所调用版本的基本元素相匹配的客户端;向所述相匹配的客户端IM软件发布所述待升级IM软件插件。

【技术特征摘要】
1.一种基于即时通信IM软件实现插件升级的方法,其特征在于,该方法包括:获取待升级IM软件插件所调用版本的基本元素;所述基本元素包括:导出函数、接口、枚举值和结构体;扫描客户端侧,获取客户端IM软件的基本元素;所述扫描客户端侧,获取客户端IM软件的基本元素进一步包括根据待升级IM软件插件信息,遍历与服务器相连的所有客户端,获取各客户端IM软件的基本元素;将获取的客户端IM软件的基本元素与对应的客户端标识信息进行存储;分别匹配所述待升级IM软件插件调用版本的基本元素与客户端IM软件的同类型基本元素,获取与所述待升级IM软件插件所调用版本的基本元素相匹配的客户端;所述分别匹配所述待升级IM软件插件调用版本的基本元素与客户端IM软件的同类型基本元素,获取与所述待升级IM软件插件所调用版本的基本元素相匹配的客户端包括:获取待升级插件所调用版本的IM软件的基本元素中的导出函数、接口、枚举值和结构体,分别与所述待升级IM软件插件所调用版本的同类型的IM软件的基本元素中的导出函数、接口、枚举值和结构体进行匹配,确定导出函数、接口、枚举值和结构体匹配成功,根据与调用版本的IM软件相匹配的同类型的IM软件,获取对应的客户端信息;向所述相匹配的客户端IM软件发布所述待升级IM软件插件。2.如权利要求1所述的方法,其特征在于,所述获取待升级IM软件插件所调用版本的基本元素包括:扫描服务器,获取IM软件中的动态链接库DLL文件;解析DLL文件中可移植的执行体文件的结构,提取结构中的导出表信息,获取导出函数;利用服务器中微软数据终结设备自动化接口,扫描服务器IM软件中的所有文件,分别获取接口、枚举值和结构体。3.如权利要求2所述的方法,其特征在于,通过调用扫描函数扫描服务器中的DLL文件,获取所述IM软件中的动态链接库DLL文件;通过微软数据终结设备自动化接口调用源代码扫描函数,扫描IM软件中的所有文件,分别获取所述接口、枚举值和结构体。4.如权利要求1所述的方法,其特征在于,所述确定导出函数匹配成功包括:分别匹配调用所述待升级IM软件插件与客户端IM软件中导出函数的函数名、返回值、参数个数和类型,如果二者导出函数的所有参数都相同,则导出函数匹配成功。5.如权利要求1所述的方法,其特征在于,所述确定接口匹配成功包括:匹配调用所述待升级IM软件插件与客户端IM软件中接口的接口名,如果接口名相同,再匹配接口的成员函数,如果二者接口的成员函数相同,确定接口匹配成功。6.如权利要求1所述的方法,其特征在于,所述确定枚举值匹配成功包括:分别匹配调用所述待升级IM软件插件与客户端IM软件的枚举值中枚举成员的位置和值,如果二者枚举成员的位置和值都相同,确定枚举值匹配成功。7.如权利要求1所述的方法,其特征在于,所述确定结构体匹配成功包括:分别匹配调用所述待升级IM软件插件与客户端IM软件的结构体成员的类型、成员名、位置,如果二者结构体成...

【专利技术属性】
技术研发人员:吴祖榕林叶辉孙辉罗君
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1