CN103793240B - 接口扫描方法、接口扫描装置及相应的插件更新方法 - Google Patents

接口扫描方法、接口扫描装置及相应的插件更新方法 Download PDF

Info

Publication number
CN103793240B
CN103793240B CN201210433534.4A CN201210433534A CN103793240B CN 103793240 B CN103793240 B CN 103793240B CN 201210433534 A CN201210433534 A CN 201210433534A CN 103793240 B CN103793240 B CN 103793240B
Authority
CN
China
Prior art keywords
interface
member function
information
database
name
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210433534.4A
Other languages
English (en)
Other versions
CN103793240A (zh
Inventor
孙辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201210433534.4A priority Critical patent/CN103793240B/zh
Publication of CN103793240A publication Critical patent/CN103793240A/zh
Application granted granted Critical
Publication of CN103793240B publication Critical patent/CN103793240B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本发明涉及一种接口扫描方法、接口扫描装置及相应的插件更新方法。本发明的接口扫描方法包括步骤:对网络即时通信平台的源代码进行扫描,根据扫描结果生成接口数据库;对接口数据库进行修正,得到修正后的接口数据库;以及将修正后的接口数据库与预设数据库进行对比,根据对比结果生成接口扫描结果。本发明还涉及一种接口扫描装置以及相应的插件更新方法。本发明的接口扫描方法、接口扫描装置及相应的插件更新方法准确有效的扫描用户的网络即时通信平台中的业务插件接口,并根据扫描结果实现网络即时通信平台中的业务插件的有效更新。

Description

接口扫描方法、接口扫描装置及相应的插件更新方法
技术领域
本发明涉及计算机技术领域,特别是涉及一种接口扫描方法、接口扫描装置及相应的插件更新方法。
背景技术
随着网络通信技术的发展,出现了越来越多的网络即时通信平台,例如QQ等。并且现在的网络即时通信平台为了满足用户多样化的需要,不仅仅包括早期单一的聊天功能,还可包括大量其他业务功能。以QQ为例,QQ即时通信平台除了聊天功能外,还提供了QQ会员、QQ黄钻、一键进入QQ邮箱以及QQ空间等功能,为用户体验各种服务提供了便利。
网络即时通信平台上的业务功能一般都是和网络即时通信平台的版本同时更新的,即网络即时通信平台的版本更新,才会更新网络即时通信平台上相应的业务功能。但是一般网络即时通信平台的版本更新较慢,同时新版本的普及也需要较长时间,远远不能满足业务推广的要求。
针对上述的业务功能推广困难的问题,现在部分运营商采用插件更新的方式更新网络即时通信平台上的业务功能。这样可将相应的业务插件直接安装到旧版本的网络即时通信平台上,使得业务插件的安装不依赖于网络即时通信平台的版本,这样强化了业务插件的更新能力,提升了业务功能的普及速度。
但是由于各用户的网络即时通信平台的版本可能不同,同时不同用户的网络即时通信平台上的业务插件可能也不同,导致不能有效的更新的业务插件,如安装的业务插件之间不兼容或重复安装同一业务插件等,大大影响用户的服务效果体验以及造成安装资源的浪费。
故,有必要提供一种接口扫描方法、接口扫描装置及相应的插件更新方法,以解决现有技术所存在的问题。
发明内容
本发明的目的在于提供一种准确有效的扫描用户的网络即时通信平台中的业务插件接口,并根据扫描结果实现网络即时通信平台中的业务插件的有效更新的接口扫描方法、接口扫描装置及相应的插件更新方法;解决了现有的插件更新方法会影响用户的服务效果体验以及造成安装资源浪费的技术问题。
为解决上述问题,本发明提供的技术方案如下:
本发明涉及一种接口扫描方法,其包括步骤:
对网络即时通信平台的源代码进行扫描,根据扫描结果生成接口数据库;
对所述接口数据库进行修正,得到修正后的接口数据库;以及
将所述修正后的接口数据库与预设数据库进行对比,根据对比结果生成接口扫描结果。
本发明还涉及一种接口扫描装置,其包括:
数据库生成模块,用于对网络即时通信平台的源代码进行扫描,根据扫描结果生成接口数据库;
数据库修正模块,用于对所述接口数据库进行修正,得到修正后的接口数据库;以及
对比模块,用于将所述修正后的接口数据库与预设数据库进行对比,根据对比结果生成接口扫描结果。
本发明还涉及一种插件更新方法,其包括步骤:
使用上述的接口扫描方法获取网络即时通信平台的接口扫描结果;以及
根据所述接口扫描结果对所述网络即时通信平台的插件进行更新。
上述接口扫描方法、接口扫描装置及相应的插件更新方法准确有效的扫描用户的网络即时通信平台中的业务插件接口,并根据扫描结果实现网络即时通信平台中的业务插件的有效更新。解决了现有的插件更新方法会影响用户的服务效果体验以及造成安装资源浪费的技术问题。
为让本发明的上述内容能更明显易懂,下文特举优选实施例,并配合所附图式,作详细说明如下:
附图说明
图1为本发明的接口扫描方法的优选实施例的流程示意图;
图2为本发明的接口扫描方法的优选实施例中的步骤103的流程示意图;
图3为本发明的接口扫描方法的优选实施例中的步骤103的详细流程图;
图4为本发明的接口扫描装置的优选实施例的结构示意图;
图5为本发明的插件更新方法的优选实施例的流程示意图;
其中,附图标记说明如下:
41、数据库生成模块;
42、数据库修正模块;
43、对比模块;
44、接口数据库;
45、预设数据库。
具体实施方式
以下各实施例的说明是参考附加的图式,用以例示本发明可用以实施的特定实施例。本发明所提到的方向用语,例如「上」、「下」、「前」、「后」、「左」、「右」、「内」、「外」、「侧面」等,仅是参考附加图式的方向。因此,使用的方向用语是用以说明及理解本发明,而非用以限制本发明。
在图中,结构相似的单元是以相同标号表示。
请参照图1,图1为本发明的接口扫描方法的优选实施例的流程示意图。该接口扫描方法开始于:
步骤101,对网络即时通信平台的源代码进行扫描,根据扫描结果生成接口数据库;
步骤102,对接口数据库进行修正,得到修正后的接口数据库;
步骤103,将修正后的接口数据库与预设数据库进行对比,根据对比结果生成接口扫描结果;
该接口扫描方法结束于步骤103。
下面详细说明本发明的接口扫描方法的各步骤的流程。
在步骤101中,对网络即时通信平台的源代码进行扫描,以获取源代码中定义的接口。这里可以使用微软DTE自动化模型等扫描装置(SnapAddin插件)进行扫描,并根据扫描结果生成与该网络即时通信平台相应的接口数据库(如MySQL数据库),该接口数据库包括接口列表,接口列表包括每个接口的接口名信息、成员函数信息以及继承关系信息。
随后来到步骤102。
在步骤102中,对步骤101生成的接口数据库进行修正,得到修正后的接口数据库。
因为使用微软DTE自动化模型等工具进行扫描时,网络即时通信平台的源代码中如具有宏定义,可能导致相应的接口数据无法识别。这时可使用预设的正则表达式对该部分(无法识别的部分)进行二次扫描,从而得到相应的接口信息,并将二次扫描结果与步骤101中的扫描结果进行合并,根据该合并结果对接口数据库的接口列表进行修正,以消除网络即时通信平台的源代码中的宏定义对扫描结果的影响。
同时在步骤101中生成的接口数据库中的每个接口都是逐一扫描的。因此接口数据库中只有每个接口的父关系信息,即每个接口只知道它的其父关系接口,并不知道它的子关系接口。因此通过分析接口数据库中所有接口的父关系信息,得到所有接口的子关系信息,从而最终得到每个接口的父关系信息与子关系信息,即得到每个接口的继承关系信息。
随后来到步骤103。
在步骤103中,将修正后的接口数据库与预设数据库进行对比,该过程可通过CodeReporter实现,其中预设数据库可与接口数据库同样,通过使用相应的扫描装置对预设的网络即时通信平台的源代码进行扫描生成。通过该数据库中的接口对比信息确定接口数据库中的接口是否需要进行更新以及如何进行更新。
请参照图2,图2为本发明的接口扫描方法的优选实施例中的步骤103的流程示意图。该步骤103包括:
步骤1031,将接口列表中的每个接口的接口名信息与预设接口列表中的每个预设接口的接口名信息进行对比,如接口名信息仅在接口列表的接口中,则给接口设置待删除接口信息;如接口名信息仅在预设接口列表的预设接口中,则给接口设置待增加接口信息;
步骤1032,如接口名信息同时在接口列表的接口和预设接口列表的预设接口中,则将接口的成员函数信息的成员函数名与相应的预设接口的成员函数信息的成员函数名进行对比,如成员函数名仅在接口的成员函数信息中,则给接口设置待删除成员函数信息;如成员函数名仅在预设接口的成员函数信息中,则给接口设置待增加成员函数信息;
步骤1033,如成员函数名同时在接口的成员函数信息和预设接口的成员函数信息中,则将接口的成员函数信息中的成员函数位置、成员函数返回值以及成员函数参数,与相应的预设接口的成员函数信息中的成员函数位置、成员函数返回值以及成员函数参数进行对比,如不同则给接口设置待改变成员函数信息;
步骤1034,根据接口的待增加接口信息、待删除接口信息、待删除成员函数信息、待增加成员函数信息以及待改变成员函数信息生成接口的对比结果;
步骤1035,根据接口的对比结果修正接口的子关系接口的对比结果;
步骤1036,根据修正后的接口数据库中所有接口的对比结果生成接口扫描结果。
下面通过图3详细说明本发明的接口扫描方法的优选实施例中的步骤103中的各步骤的流程。图3为本发明的接口扫描方法的优选实施例中的步骤103的详细流程图。
经步骤102后,修正后的接口数据库包括接口列表,接口列表包括每个接口的接口名信息、成员函数信息以及继承关系信息,同时预设数据库包括预设接口列表,预设接口列表包括每个预设接口的接口名信息、成员函数信息以及继承关系信息。在本实施例中,接口数据库和预设数据库均使用ls_interface来表示接口的接口名信息(iid以及name);均使用ls_function来表示接口的成员函数信息;均使用ls_base_interface来表示接口的继承关系信息。其中成员函数信息包括成员函数名(name)、成员函数位置(pos)、成员函数返回值(return values)以及成员函数参数(parameter)。
在步骤1031中,通过查询ls_interface表,获得接口数据库的接口列表以及预设数据库的预设接口列表中每个接口的接口名信息。对接口列表中的每个接口的接口名信息与预设接口列表中的每个预设接口的接口名信息逐一进行比较,如接口名信息仅在预设接口列表的预设接口中,则给该接口设置待增加接口信息;如接口名信息仅在接口列表的接口中,则给该接口设置待删除接口信息;如接口名信息同时在接口列表的接口和预设接口列表的预设接口中,则转到步骤1032。
在步骤1032中,通过查询ls_function表,获得接口数据库的接口的成员函数信息以及预设数据库的预设接口的成员函数信息。对接口的成员函数信息的成员函数名与相应的预设接口的成员函数信息的成员函数名逐一进行比较,如成员函数名仅在预设接口的成员函数信息中,则给该接口设置待增加成员函数信息;如成员函数名仅在接口的成员函数信息中,则给该接口设置待删除成员函数信息;如成员函数名同时在接口的成员函数信息和预设接口的成员函数信息中,则转到步骤1033。
在本步骤中,如接口的成员函数信息的成员函数名的长度与相应的预设接口的成员函数的成员函数名的长度不一致,可对接口的成员函数信息的成员函数名和预设接口的成员函数的成员函数名中长度较长的成员函数名进行属性化编程修正,即将成员函数名前的属性化编程语句删除。如利用属性化编程定义成员函数scriptWarningBkg,在步骤101的扫描过程中可能会将该成员函数scriptWarningBkg的成员函数名识别为put_scriptWarningBkg,而不是scriptWarningBkg,这样导致误认为接口的成员函数信息的成员函数名与相应的预设接口的成员函数信息的成员函数名不同。通过属性化编程修正该成员函数名,将成员函数名前的属性化编程语句put、get等删除,可以很好的避免上述错误,消除了属性化编程对成员函数名比较的影响。
在步骤1033中,对接口的成员函数信息中的成员函数位置、成员函数返回值以及成员函数参数,与相应的预设接口的成员函数信息中的成员函数位置、成员函数返回值以及成员函数参数进行比较,如接口的成员函数信息中的成员函数位置与相应的预设接口的成员函数信息中的成员函数位置、接口的成员函数信息中的成员函数返回值与相应的预设接口的成员函数信息中的成员函数返回值、接口的成员函数信息中的成员函数参数与相应的预设接口的成员函数信息中的成员函数参数其中任一不同,即判断接口的成员函数信息与预设接口的成员函数信息不同,给该接口设置待改变成员函数信息,随后转到步骤1034。
在步骤1034中,根据在步骤1031中得到的接口的待增加接口信息以及待删除接口信息,在步骤1032中得到的接口的待删除成员函数信息以及待增加成员函数信息以及在步骤1033中得到的待改变成员函数信息生成接口数据库中每个接口与预设数据库中预设接口的对比结果,随后转到步骤1035。
在步骤1035中,根据接口的对比结果,查询ls_base_interface表,修正所有接口的子关系接口的对比结果,即在生成某个接口的对比结果后,使用该对比结果去修正该接口的子接口的对比结果,使其子接口的对比结果更加准确,随后转到步骤1036。
在步骤1036中,根据上述接口数据库中所有接口的对比结果生成接口扫描结果,从而完成了整个网络即时通信平台的接口扫描以及所有接口相关信息的设置过程。
本发明还涉及一种接口扫描装置,如图4所示,图4为本发明的接口扫描装置的优选实施例的结构示意图。该接口扫描装置包括数据库生成模块41、数据库修正模块42以及对比模块43。该数据库生成模块41用于对网络即时通信平台的源代码进行扫描,根据扫描结果生成接口数据库44;该数据库修正模块42用于对接口数据库44进行修正,得到修正后的接口数据库44;对比模块43用于述修正后的接口数据库44与预设数据库45进行对比,根据对比结果生成接口扫描结果。
其中数据库修正模块42包括正则表达式修正单元以及继承关系信息生成单元。正则表达式修正单元用于使用预设的正则表达式对网络即时通信平台的源代码中具有宏定义的部分进行二次扫描,将二次扫描结果与扫描结果进行合并,根据合并结果对接口数据库44的接口列表进行修正,以消除网络即时通信平台的源代码中的宏定义对扫描结果的影响;继承关系信息生成单元用于根据接口数据库44中的每个接口的父关系信息,生成每个接口的继承关系信息,继承关系信息包括每个接口的父关系信息以及每个接口的子关系信息。
对比模块43包括接口名信息对比单元、成员函数名对比单元、成员函数信息对比单元、继承关系修正单元以及属性化编程修正单元。
接口信息对比单元用于将接口列表中的每个接口的接口名信息与预设接口列表中的每个预设接口的接口名信息进行对比,如接口名信息仅在接口列表的接口中,则给接口设置待删除接口信息;如接口名信息仅在预设接口列表的预设接口中,则给接口设置待增加接口信息。
成员函数名对比单元用于如接口名信息同时在接口列表的接口和预设接口列表的预设接口中,则将接口的成员函数信息的成员函数名与相应的预设接口的成员函数信息的成员函数名进行对比,如成员函数名仅在接口的成员函数信息中,则给接口设置待删除成员函数信息;如成员函数名仅在预设接口的成员函数信息中,则给接口设置待增加成员函数信息。
成员函数信息对比单元用于如成员函数名同时在接口的成员函数信息和预设接口的成员函数信息中,则将接口的成员函数信息中的成员函数位置、成员函数返回值以及成员函数参数,与相应的预设接口的成员函数信息中的成员函数位置、成员函数返回值以及成员函数参数进行对比,如不同则给接口设置待改变成员函数信息。
继承关系修正单元用于根据接口的对比结果修正接口的子关系接口的对比结果。
属性化编程修正单元用于如接口的成员函数信息的成员函数名的长度与相应的预设接口的成员函数的成员函数名的长度不一致,则对接口的成员函数信息的成员函数名和预设接口的成员函数的成员函数名中长度较长的成员函数名进行属性化编程修正。
本发明的接口扫描装置使用时,数据库生成模块41对网络即时通信平台的源代码进行扫描,以获取源代码中定义的接口,并生成与该网络即时通信平台相应的接口数据库44。该接口数据库44包括接口列表,接口列表包括每个接口的接口名信息、成员函数信息以及继承关系信息。
随后数据库修正模块42的正则表达式修正单元使用预设的正则表达式对接口数据库44中由于宏定义导致无法识别的部分进行二次扫描,从而得到相应的接口数据,并将二次扫描结果与数据库生成模块41生成的扫描结果进行合并,根据该合并结果对接口数据库44的接口列表进行修正,以消除网络即时通信平台的源代码中的宏定义对扫描结果的影响。同时数据库修正模块42的继承关系信息生成单元分析接口数据库44中所有接口的父关系信息,得到所有接口的子关系信息,从而最终得到每个接口的父关系信息与子关系信息,即得到每个接口的继承关系信息。
随后对比模块43的接口名信息对比单元将接口列表中的每个接口的接口名信息与预设接口列表中的每个预设接口的接口名信息进行对比,如接口名信息仅在接口列表的接口中,则给接口设置待删除接口信息;如接口名信息仅在预设接口列表的预设接口中,则给接口设置待增加接口信息。
如接口名信息同时在接口列表的接口和预设接口列表的预设接口中,则对比模块43的成员函数名对比单元将接口的成员函数信息的成员函数名与相应的预设接口的成员函数信息的成员函数名进行对比,如成员函数名仅在接口的成员函数信息中,则给接口设置待删除成员函数信息;如成员函数名仅在预设接口的成员函数信息中,则给接口设置待增加成员函数信息。同时成员函数信息的成员函数名与相应的预设接口的成员函数信息的成员函数名进行对比时,还可使用属性化编程修正单元对成员函数名进行修正,以消除属性化编程对成员函数名比较的影响。
如成员函数名同时在接口的成员函数信息和预设接口的成员函数信息中,则对比模块43的成员函数信息对比单元将接口的成员函数信息中的成员函数位置、成员函数返回值以及成员函数参数,与相应的预设接口的成员函数信息中的成员函数位置、成员函数返回值以及成员函数参数进行对比,如不同则给接口设置待改变成员函数信息。
随后对比模块43根据上述的待增加接口信息、待删除接口信息、待删除成员函数信息、待增加成员函数信息以及待改变成员函数信息生成接口数据库44中每个接口与预设数据库45中预设接口的对比结果。
随后对比模块43的继承关系修正单元根据接口的对比结果,修正所有接口的子关系接口的对比结果,使子接口的对比结果更加准确。
最后对比模块43根据上述接口数据库44中所有接口的对比结果生成接口扫描结果,从而完成了整个网络即时通信平台的接口扫描以及所有接口相关信息的设置过程。
本发明的接口扫描装置的具体实施方法与上述接口扫描方法的具体实施例相同或相似,请参见上述接口扫描方法的具体实施例。
本发明还涉及一种插件更新方法,如图5所示,图5为本发明的插件更新方法的优选实施例的流程示意图。该插件更新方法包括:
步骤501,使用接口扫描方法获取网络即时通信平台的接口扫描结果;
步骤502,根据接口扫描结果对网络即时通信平台的插件进行更新。
本发明的插件更新方法通过上述的接口扫描方法获取网络即时通信平台的接口扫描结果,具体的接口扫描方法的扫描流程可参见上述接口扫描方法的具体实施例。
随后根据接口扫描结果对网络即时通信平台的插件进行更新,因接口扫描结果中包括每个接口的待增加接口信息、待删除接口信息、待删除成员函数信息、待增加成员函数信息以及待改变成员函数信息等信息,我们可根据待增加接口信息来增加接口,根据待删除接口信息来删除接口,以及根据待删除成员函数信息、待增加成员函数信息以及待改变成员函数信息来改变接口参数。这样通过接口设置的改变使得插件(这里的插件通过接口实现更新)的更新更加有效,避免更新过程中的插件冲突或重复安装同一插件的发生。
本发明的接口扫描方法、接口扫描装置及相应的插件更新方法准确有效的扫描用户的网络即时通信平台中的业务插件接口,并根据扫描结果实现网络即时通信平台中的业务插件的有效更新。解决了现有的插件更新方法会影响用户的服务效果体验以及造成安装资源浪费的技术问题。
综上所述,虽然本发明已以优选实施例揭露如上,但上述优选实施例并非用以限制本发明,本领域的普通技术人员,在不脱离本发明的精神和范围内,均可作各种更动与润饰,因此本发明的保护范围以权利要求界定的范围为准。

Claims (15)

1.一种接口扫描方法,其特征在于,包括步骤:
对网络即时通信平台的源代码进行扫描,根据扫描结果生成接口数据库;
对所述接口数据库进行修正,得到修正后的接口数据库;以及
将所述修正后的接口数据库与预设数据库进行对比,根据对比结果生成接口扫描结果;
所述接口数据库包括接口列表,所述接口列表包括每个接口的接口名信息、成员函数信息以及继承关系信息;所述预设数据库包括预设接口列表,所述预设接口列表包括每个预设接口的接口名信息、成员函数信息以及继承关系信息;
所述将所述修正后的接口数据库与预设数据库进行对比,根据对比结果生成接口扫描结果的步骤包括:
将所述接口列表中的每个接口的接口名信息与所述预设接口列表中的每个预设接口的接口名信息进行对比,如所述接口名信息仅在所述接口列表的接口中,则给所述接口设置待删除接口信息;如所述接口名信息仅在所述预设接口列表的预设接口中,则给所述接口设置待增加接口信息;
根据所述接口的所述待删除接口信息以及所述待增加接口信息生成所述接口的对比结果;
根据所述修正后的接口数据库中所有接口的对比结果生成所述接口扫描结果。
2.根据权利要求1所述的接口扫描方法,其特征在于,所述对所述接口数据库进行修正,得到修正后的接口数据库的步骤包括:
使用预设的正则表达式对所述网络即时通信平台的源代码中具有宏定义的部分进行二次扫描,将二次扫描结果与所述扫描结果进行合并,根据合并结果对所述接口数据库的接口列表进行修正,以消除所述网络即时通信平台的源代码中的宏定义对所述扫描结果的影响。
3.根据权利要求1所述的接口扫描方法,其特征在于,所述对所述接口数据库进行修正,得到修正后的接口数据库的步骤包括:
根据所述接口数据库中的每个接口的父关系信息,生成所述每个接口的继承关系信息,所述继承关系信息包括所述每个接口的父关系信息以及所述每个接口的子关系信息。
4.根据权利要求1所述的接口扫描方法,其特征在于,所述将所述修正后的接口数据库与预设数据库进行对比,根据对比结果生成接口扫描结果的步骤还包括:
如所述接口名信息同时在所述接口列表的接口和所述预设接口列表的预设接口中,则将所述接口的成员函数信息的成员函数名与相应的所述预设接口的成员函数信息的成员函数名进行对比,如所述成员函数名仅在所述接口的成员函数信息中,则给所述接口设置待删除成员函数信息;如所述成员函数名仅在所述预设接口的成员函数信息中,则给所述接口设置待增加成员函数信息;
根据所述接口的所述待增加接口信息、所述待删除接口信息、所述待删除成员函数信息以及所述待增加成员函数信息生成所述接口的对比结果;
根据所述修正后的接口数据库中所有接口的对比结果生成所述接口扫描结果。
5.根据权利要求4所述的接口扫描方法,其特征在于,所述将所述修正后的接口数据库与预设数据库进行对比,根据对比结果生成接口扫描结果的步骤还包括:
如所述成员函数名同时在所述接口的成员函数信息和所述预设接口的成员函数信息中,则将所述接口的成员函数信息中的成员函数位置、成员函数返回值以及成员函数参数,与相应的所述预设接口的成员函数信息中的成员函数位置、成员函数返回值以及成员函数参数进行对比,如不同则给所述接口设置待改变成员函数信息;
根据所述接口的所述待增加接口信息、所述待删除接口信息、所述待删除成员函数信息、所述待增加成员函数信息以及所述待改变成员函数信息生成所述接口的对比结果;
根据所述修正后的接口数据库中所有接口的对比结果生成所述接口扫描结果。
6.根据权利要求5所述的接口扫描方法,其特征在于,所述将所述修正后的接口数据库与预设数据库进行对比,根据对比结果生成接口扫描结果的步骤还包括:
根据所述接口的对比结果修正所述接口的子关系接口的对比结果;
根据所述修正后的接口数据库中所有接口的对比结果生成所述接口扫描结果。
7.根据权利要求4所述的接口扫描方法,其特征在于,所述将所述接口的成员函数信息的成员函数名与相应的所述预设接口的成员函数信息的成员函数名进行对比的步骤还包括:
如所述接口的成员函数信息的成员函数名的长度与相应的所述预设接口的成员函数的成员函数名的长度不一致,则对所述接口的成员函数信息的成员函数名和所述预设接口的成员函数的成员函数名中长度较长的成员函数名进行属性化编程修正。
8.一种接口扫描装置,其特征在于,包括:
数据库生成模块,用于对网络即时通信平台的源代码进行扫描,根据扫描结果生成接口数据库;
数据库修正模块,用于对所述接口数据库进行修正,得到修正后的接口数据库;以及
对比模块,用于将所述修正后的接口数据库与预设数据库进行对比,根据对比结果生成接口扫描结果;
所述接口数据库包括接口列表,所述接口列表包括每个接口的接口名信息、成员函数信息以及继承关系信息;所述预设数据库包括预设接口列表,所述预设接口列表包括每个预设接口的接口名信息、成员函数信息以及继承关系信息;
所述对比模块包括:
接口名信息对比单元,用于将所述接口列表中的每个接口的接口名信息与所述预设接口列表中的每个预设接口的接口名信息进行对比,如所述接口名信息仅在所述接口列表的接口中,则给所述接口设置待删除接口信息;如所述接口名信息仅在所述预设接口列表的预设接口中,则给所述接口设置待增加接口信息。
9.根据权利要求8所述的接口扫描装置,其特征在于,所述数据库修正模块包括:
正则表达式修正单元,用于使用预设的正则表达式对所述网络即时通信平台的源代码中具有宏定义的部分进行二次扫描,将二次扫描结果与所述扫描结果进行合并,根据合并结果对所述接口数据库的接口列表进行修正,以消除所述网络即时通信平台的源代码中的宏定义对所述扫描结果的影响。
10.根据权利要求8所述的接口扫描装置,其特征在于,所述数据库修正模块包括:
继承关系信息生成单元,用于根据所述接口数据库中的每个接口的父关系信息,生成所述每个接口的继承关系信息,所述继承关系信息包括所述每个接口的父关系信息以及所述每个接口的子关系信息。
11.根据权利要求8所述的接口扫描装置,其特征在于,所述对比模块还包括:
成员函数名对比单元,用于如所述接口名信息同时在所述接口列表的接口和所述预设接口列表的预设接口中,则将所述接口的成员函数信息的成员函数名与相应的所述预设接口的成员函数信息的成员函数名进行对比,如所述成员函数名仅在所述接口的成员函数信息中,则给所述接口设置待删除成员函数信息;如所述成员函数名仅在所述预设接口的成员函数信息中,则给所述接口设置待增加成员函数信息。
12.根据权利要求11所述的接口扫描装置,其特征在于,所述对比模块还包括:
成员函数信息对比单元,用于如所述成员函数名同时在所述接口的成员函数信息和所述预设接口的成员函数信息中,则将所述接口的成员函数信息中的成员函数位置、成员函数返回值以及成员函数参数,与相应的所述预设接口的成员函数信息中的成员函数位置、成员函数返回值以及成员函数参数进行对比,如不同则给所述接口设置待改变成员函数信息。
13.根据权利要求12所述的接口扫描装置,其特征在于,所述对比模块还包括:
继承关系修正单元,用于根据所述接口的对比结果修正所述接口的子关系接口的对比结果。
14.根据权利要求11所述的接口扫描装置,其特征在于,所述对比模块还包括:
属性化编程修正单元,用于如所述接口的成员函数信息的成员函数名的长度与相应的所述预设接口的成员函数的成员函数名的长度不一致,则对所述接口的成员函数信息的成员函数名和所述预设接口的成员函数的成员函数名中长度较长的成员函数名进行属性化编程修正。
15.一种插件更新方法,其特征在于,包括步骤:
使用权利要求1-7中任一所述的接口扫描方法获取网络即时通信平台的接口扫描结果;以及
根据所述接口扫描结果对所述网络即时通信平台的插件进行更新。
CN201210433534.4A 2012-11-02 2012-11-02 接口扫描方法、接口扫描装置及相应的插件更新方法 Active CN103793240B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210433534.4A CN103793240B (zh) 2012-11-02 2012-11-02 接口扫描方法、接口扫描装置及相应的插件更新方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210433534.4A CN103793240B (zh) 2012-11-02 2012-11-02 接口扫描方法、接口扫描装置及相应的插件更新方法

Publications (2)

Publication Number Publication Date
CN103793240A CN103793240A (zh) 2014-05-14
CN103793240B true CN103793240B (zh) 2017-08-18

Family

ID=50668956

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210433534.4A Active CN103793240B (zh) 2012-11-02 2012-11-02 接口扫描方法、接口扫描装置及相应的插件更新方法

Country Status (1)

Country Link
CN (1) CN103793240B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105045577B (zh) * 2015-06-29 2018-12-18 用友优普信息技术有限公司 接口变更的提示方法和接口变更的提示系统
CN107423037B (zh) * 2016-03-09 2021-04-02 阿里巴巴集团控股有限公司 应用程序接口定位方法及设备
CN106469213B (zh) * 2016-09-05 2019-09-06 中国银行股份有限公司 一种产品接口信息处理方法及装置
TWI647609B (zh) * 2017-04-14 2019-01-11 緯創資通股份有限公司 即時通訊方法、系統及電子裝置與伺服器
CN111736930B (zh) * 2020-07-21 2020-12-29 平安国际智慧城市科技股份有限公司 程序前后端接口调用方法、装置、计算机设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1547351A1 (en) * 2002-09-23 2005-06-29 Telefonaktiebolaget LM Ericsson (publ) Middleware application message/event model
CN101566954A (zh) * 2009-05-31 2009-10-28 珠海金山软件股份有限公司 一种管理插件的方法及管理插件的装置
CN102411506A (zh) * 2011-07-07 2012-04-11 杭州典能科技有限公司 Java系统业务单元插件式管理系统及业务功能动态变更方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1547351A1 (en) * 2002-09-23 2005-06-29 Telefonaktiebolaget LM Ericsson (publ) Middleware application message/event model
CN101566954A (zh) * 2009-05-31 2009-10-28 珠海金山软件股份有限公司 一种管理插件的方法及管理插件的装置
CN102411506A (zh) * 2011-07-07 2012-04-11 杭州典能科技有限公司 Java系统业务单元插件式管理系统及业务功能动态变更方法

Also Published As

Publication number Publication date
CN103793240A (zh) 2014-05-14

Similar Documents

Publication Publication Date Title
CN103793240B (zh) 接口扫描方法、接口扫描装置及相应的插件更新方法
CN106021510B (zh) 对于由移动设备的用户启动的查询进行处理的方法和系统
Wheeler et al. POY version 5: phylogenetic analysis using dynamic homologies under multiple optimality criteria
CN107656729B (zh) 列表视图的更新装置、方法及计算机可读存储介质
CN1808377A (zh) 由非专属语言驱动的通用序列图生成器
CN104462174A (zh) 数据处理装置、数据处理方法以及计算机可读记录介质
US20160188299A1 (en) System And Method For Automatic Extraction Of Software Design From Requirements
CN103778128B (zh) 一种列表信息的绘制方法和装置
CN101075989B (zh) 一种验证字段有效性的方法和系统
CN103647775A (zh) 一种在网页中进行登录的方法和装置
CN110018835B (zh) Yang模型配置数据处理方法及装置、终端设备及存储介质
CN114513410A (zh) 一种设备快速接入物联网平台的方法和系统
CN107526619B (zh) 版式数据流文件的加载方法
US8073666B2 (en) Systems and methods for ordering oligonucleotides
CN112947900B (zh) web应用开发方法、装置、服务器及开发终端
JPH04220747A (ja) データ処理システムにおける文書管理方法
CN106649095A (zh) 一种面向目标代码的程序静态分析系统
CN106959843A (zh) 一种跨平台巢引擎系统及其开发方法
US20090265682A1 (en) Method for transforming data from a model into a secondary model to optimize code generation
CN101673281A (zh) 一种旅行计划的制作方法
CN104053135B (zh) 一种实现非结构化补充数据业务的方法及装置
CN103186388A (zh) 软件安装方法及装置
CN102521129A (zh) 一种自绘窗口的测试方法和装置
CN107861963B (zh) 险种合约的生成方法和装置
CN112822190A (zh) 报文维护方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant