1.本发明涉及实时通信库裁剪技术领域,尤其涉及一种实时通信库裁剪方法、装置、计算机设备。
背景技术:
2.移动端sdk(software development kit,软件开发工具包)在集成第三方rtc(real time communication,实时通信)库作为底层rtc引擎来实现连麦功能的时候,会出现这么一种情况:在软件开发工具包是同时集成了多个厂商的软件开发工具包时,如果客户在使用该集成了多个厂商的软件开发工具包的时候,只用到其中一个厂商的软件开发工具包作为连麦引擎,或者更加特殊地,客户不使用连麦功能,则多出来的软件开发工具包包的大小给客户造成了负担,增加了客户打包出来的安装包的大小。
3.然而,现有的实时通信库裁剪方案,一般是通过反射来实现实时通信库的剪裁,该方案由于使用了反射,一般会被第三方风险监测机构检测到软件开发工具包有风险或者漏洞等安全问题,而且客户在使用集成了多个厂商的软件开发工具包的时候,只用到其中一个厂商的软件开发工具包作为连麦引擎,或者更加特殊地,客户不使用连麦功能,则多出来的软件开发工具包包的大小给客户造成了负担,增加了客户打包出来的安装包的大小。
技术实现要素:
4.有鉴于此,本发明的目的在于提出一种实时通信库裁剪方法、装置、计算机设备,能够实现避免软件开发工具包出现风险或者漏洞等安全问题,又能够有效减小软件开发工具包的体积。
5.根据本发明的一个方面,提供一种实时通信库裁剪方法,包括:配置一套内部对实时通信库调用进行纯转发的实时通信纯转发库;对所述实时通信库和所述实时通信纯转发库分别进行应用程序接口封装;根据所述经封装后的实时通信库和所述实时通信纯转发库,当使用实时通信剪裁库时,选择所需的底层实时通信引擎或不做选择。
6.其中,所述配置一套内部对实时通信库调用进行纯转发的实时通信转发库,包括:依照实时通信转的接口和调用方式,配置一套内部对实时通信库调用进行纯转发的实时通信纯转发库。
7.其中,所述对所述实时通信库和所述实时通信纯转发库分别进行应用程序接口封装,包括:通过在编译时将所述实时通信库和所述实时通信纯转发库都能正常编译,在运行时将所述实时通信库匹配连麦功能和将所述实时通信纯转发库不匹配连麦功能的方式,对所述实时通信库和所述实时通信纯转发库分别进行应用程序接口封装。
8.其中,所述根据所述经封装后的实时通信库和所述实时通信纯转发库,当使用实时通信剪裁库时,选择所需的底层实时通信引擎或不做选择,包括:根据所述经封装后的实时通信库和所述实时通信纯转发库,当使用实时通信剪裁库时,通过项目自动化建构工具设置方式,选择所需的底层实时通信引擎或不做选择。
9.其中,在所述根据所述经封装后的实时通信库和所述实时通信纯转发库,当使用实时通信剪裁库时,选择所需的底层实时通信引擎或不做选择之后,还包括:对所述选择的所需的底层实时通信引擎或不做选择进行记录管理。
10.根据本发明的另一个方面,提供一种实时通信库裁剪装置,包括:配置模块、封装模块和选择模块;所述配置模块,用于配置一套内部对实时通信库调用进行纯转发的实时通信纯转发库;所述封装模块,用于对所述实时通信库和所述实时通信纯转发库分别进行应用程序接口封装;所述选择模块,用于根据所述经封装后的实时通信库和所述实时通信纯转发库,当使用实时通信剪裁库时,选择所需的底层实时通信引擎或不做选择。
11.其中,所述配置模块,具体用于:依照实时通信转的接口和调用方式,配置一套内部对实时通信库调用进行纯转发的实时通信纯转发库。
12.其中,所述封装模块,具体用于:通过在编译时将所述实时通信库和所述实时通信纯转发库都能正常编译,在运行时将所述实时通信库匹配连麦功能和将所述实时通信纯转发库不匹配连麦功能的方式,对所述实时通信库和所述实时通信纯转发库分别进行应用程序接口封装。
13.其中,所述选择模块,具体用于:根据所述经封装后的实时通信库和所述实时通信纯转发库,当使用实时通信剪裁库时,通过项目自动化建构工具设置方式,选择所需的底层实时通信引擎或不做选择。
14.其中,所述实时通信库裁剪装置,还包括:记录管理模块;所述记录管理模块,用于对所述选择的所需的底层实时通信引擎或不做选择进行记录管理。
15.根据本发明的又一个方面,提供一种计算机设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述任一项所述的实时通信库裁剪方法。
16.根据本发明的再一个方面,提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的实时通信库裁剪方法。
17.可以发现,以上方案,可以配置一套内部对实时通信库调用进行纯转发的实时通信纯转发库,和可以对该实时通信库和该实时通信纯转发库分别进行应用程序接口封装,以及可以根据该经封装后的实时通信库和该实时通信纯转发库,当使用实时通信剪裁库时,选择所需的底层实时通信引擎或不做选择,能够实现避免软件开发工具包出现风险或者漏洞等安全问题,又能够有效减小软件开发工具包的体积。
18.进一步的,以上方案,可以依照实时通信转的接口和调用方式,配置一套内部对实时通信库调用进行纯转发的实时通信纯转发库,这样的好处是能够实现由于该实时通信纯转发库不依赖声网软件开发工具包,能够有效减小软件开发工具包的体积。
19.进一步的,以上方案,可以通过在编译时将该实时通信库和该实时通信纯转发库都能正常编译,在运行时将该实时通信库匹配连麦功能和将该实时通信纯转发库不匹配连麦功能的方式,对该实时通信库和该实时通信纯转发库分别进行应用程序接口封装,这样的好处是由于该实时通信纯转发库不匹配连麦功能所以该实时通信纯转发库不依赖声卡软件开发工具包,能够有效减小软件开发工具包的体积。
20.进一步的,以上方案,可以根据该经封装后的实时通信库和该实时通信纯转发库,
当使用实时通信剪裁库时,通过项目自动化建构工具设置方式,选择所需的底层实时通信引擎或不做选择,这样的好处是能够实现避免被第三方风险监测机构检测到软件开发工具包有风险或者漏洞等安全问题。
21.进一步的,以上方案,可以对该选择的所需的底层实时通信引擎或不做选择进行记录管理,这样的好处是能够实现方便的对该选择的所需的底层实时通信引擎或不做选择进行有效的管理。
附图说明
22.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
23.图1是本发明实时通信库裁剪方法一实施例的流程示意图;
24.图2是本发明实时通信库裁剪方法另一实施例的流程示意图;
25.图3是本发明实时通信库裁剪装置一实施例的结构示意图;
26.图4是本发明实时通信库裁剪装置另一实施例的结构示意图;
27.图5是本发明计算机设备一实施例的结构示意图。
具体实施方式
28.下面结合附图和实施例,对本发明作进一步的详细描述。特别指出的是,以下实施例仅用于说明本发明,但不对本发明的范围进行限定。同样的,以下实施例仅为本发明的部分实施例而非全部实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
29.本发明提供一种实时通信库裁剪方法,能够实现避免软件开发工具包出现风险或者漏洞等安全问题,又能够有效减小软件开发工具包的体积。
30.请参见图1,图1是本发明实时通信库裁剪方法一实施例的流程示意图。需注意的是,若有实质上相同的结果,本发明的方法并不以图1所示的流程顺序为限。如图1所示,该方法包括如下步骤:
31.s101:配置一套内部对实时通信库调用进行纯转发的实时通信纯转发库。
32.其中,该配置一套内部对实时通信库调用进行纯转发的实时通信转发库,可以包括:
33.依照实时通信转的接口和调用方式,配置一套内部对实时通信库调用进行纯转发的实时通信纯转发库,这样的好处是能够实现由于该实时通信纯转发库不依赖声网软件开发工具包,能够有效减小软件开发工具包的体积。
34.在本实施例中,该实时通信库可以是plvartc(polyv a real time,保利威a类型实时通信)库,该实时通信纯转发库可以是plvartcempty(ppolyv areal time communication emty,保利威a类型实时通信空实现)库等,本发明不加以限定。
35.在本实施例中,该plvartc可以对声网sdk有依赖,并对声网sdk进行纯转发的封装,该plvartcempty不对声网sdk有依赖,但是提供出去的所有接口必须与plvartc一模一
样等,本发明不加以限定。
36.s102:对该实时通信库和该实时通信纯转发库分别进行api(application programming interface,应用程序接口)封装。
37.其中,该对该实时通信库和该实时通信纯转发库分别进行应用程序接口封装,可以包括:
38.通过在编译时将该实时通信库和该实时通信纯转发库都能正常编译,在运行时将该实时通信库匹配连麦功能和将该实时通信纯转发库不匹配连麦功能的方式,对该实时通信库和该实时通信纯转发库分别进行应用程序接口封装,这样的好处是由于该实时通信纯转发库不匹配连麦功能所以该实时通信纯转发库不依赖声卡软件开发工具包,能够有效减小软件开发工具包的体积。
39.s103:根据该经封装后的实时通信库和该实时通信纯转发库,当使用实时通信剪裁库时,选择所需的底层实时通信引擎或不做选择。
40.其中,该根据该经封装后的实时通信库和该实时通信纯转发库,当使用实时通信剪裁库时,选择所需的底层实时通信引擎或不做选择,可以包括:
41.根据该经封装后的实时通信库和该实时通信纯转发库,当使用实时通信剪裁库时,通过gradle(项目自动化建构工具)设置方式,选择所需的底层实时通信引擎或不做选择,这样的好处是能够实现避免被第三方风险监测机构检测到软件开发工具包有风险或者漏洞等安全问题。
42.其中,在该根据该经封装后的实时通信库和该实时通信纯转发库,当使用实时通信剪裁库时,选择所需的底层实时通信引擎或不做选择之后,还可以包括:
43.对该选择的所需的底层实时通信引擎或不做选择进行记录管理,这样的好处是能够实现方便的对该选择的所需的底层实时通信引擎或不做选择进行有效的管理。
44.可以发现,在本实施例中,可以配置一套内部对实时通信库调用进行纯转发的实时通信纯转发库,和可以对该实时通信库和该实时通信纯转发库分别进行应用程序接口封装,以及可以根据该经封装后的实时通信库和该实时通信纯转发库,当使用实时通信剪裁库时,选择所需的底层实时通信引擎或不做选择,能够实现避免软件开发工具包出现风险或者漏洞等安全问题,又能够有效减小软件开发工具包的体积。
45.进一步的,在本实施例中,可以依照实时通信转的接口和调用方式,配置一套内部对实时通信库调用进行纯转发的实时通信纯转发库,这样的好处是能够实现由于该实时通信纯转发库不依赖声网软件开发工具包,能够有效减小软件开发工具包的体积。
46.进一步的,在本实施例中,可以通过在编译时将该实时通信库和该实时通信纯转发库都能正常编译,在运行时将该实时通信库匹配连麦功能和将该实时通信纯转发库不匹配连麦功能的方式,对该实时通信库和该实时通信纯转发库分别进行应用程序接口封装,这样的好处是由于该实时通信纯转发库不匹配连麦功能所以该实时通信纯转发库不依赖声卡软件开发工具包,能够有效减小软件开发工具包的体积。
47.进一步的,在本实施例中,可以根据该经封装后的实时通信库和该实时通信纯转发库,当使用实时通信剪裁库时,通过项目自动化建构工具设置方式,选择所需的底层实时通信引擎或不做选择,这样的好处是能够实现避免被第三方风险监测机构检测到软件开发工具包有风险或者漏洞等安全问题。
48.请参见图2,图2是本发明实时通信库裁剪方法另一实施例的流程示意图。
49.本实施例中,该方法包括以下步骤:
50.s201:配置一套内部对实时通信库调用进行纯转发的实时通信纯转发库。
51.可如上s101所述,在此不作赘述。
52.s202:对该实时通信库和该实时通信纯转发库分别进行应用程序接口封装。
53.可如上s102所述,在此不作赘述。
54.s203:根据该经封装后的实时通信库和该实时通信纯转发库,当使用实时通信剪裁库时,选择所需的底层实时通信引擎或不做选择。
55.可如上s103所述,在此不作赘述。
56.s204:对该选择的所需的底层实时通信引擎或不做选择进行记录管理。
57.可以发现,在本实施例中,可以对该选择的所需的底层实时通信引擎或不做选择进行记录管理,这样的好处是能够实现方便的对该选择的所需的底层实时通信引擎或不做选择进行有效的管理。
58.本发明还提供一种实时通信库裁剪装置,能够实现对拼接语音的识别,进而能够保障语音验证的安全性。
59.请参见图3,图3是本发明实时通信库裁剪装置一实施例的结构示意图。本实施例中,该实时通信库裁剪装置30包括配置模块31、封装模块32和选择模块33。
60.该配置模块31,用于配置一套内部对实时通信库调用进行纯转发的实时通信纯转发库。
61.该封装模块32,用于对该实时通信库和该实时通信纯转发库分别进行应用程序接口封装。
62.该选择模块33,用于根据该经封装后的实时通信库和该实时通信纯转发库,当使用实时通信剪裁库时,选择所需的底层实时通信引擎或不做选择。
63.可选地,该配置模块31,可以具体用于:
64.依照实时通信转的接口和调用方式,配置一套内部对实时通信库调用进行纯转发的实时通信纯转发库。
65.可选地,该封装模块32,可以具体用于:
66.通过在编译时将该实时通信库和该实时通信纯转发库都能正常编译,在运行时将该实时通信库匹配连麦功能和将该实时通信纯转发库不匹配连麦功能的方式,对该实时通信库和该实时通信纯转发库分别进行应用程序接口封装。
67.可选地,该选择模块33,可以具体用于:
68.根据该经封装后的实时通信库和该实时通信纯转发库,当使用实时通信剪裁库时,通过项目自动化建构工具设置方式,选择所需的底层实时通信引擎或不做选择。
69.请参见图4,图4是本发明实时通信库裁剪装置另一实施例的结构示意图。区别于上一实施例,本实施例所述实时通信库裁剪装置40还包括记录管理模块41。
70.该记录管理模块41,用于对该选择的所需的底层实时通信引擎或不做选择进行记录管理。
71.该实时通信库裁剪装置30/40的各个单元模块可分别执行上述方法实施例中对应步骤,故在此不对各单元模块进行赘述,详细请参见以上对应步骤的说明。
72.本发明又提供一种计算机设备,如图5所示,包括:至少一个处理器51;以及,与至少一个处理器51通信连接的存储器52;其中,存储器52存储有可被至少一个处理器51执行的指令,指令被至少一个处理器51执行,以使至少一个处理器51能够执行上述的实时通信库裁剪方法。
73.其中,存储器52和处理器51采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器51和存储器52的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器51处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器51。
74.处理器51负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器52可以被用于存储处理器51在执行操作时所使用的数据。
75.本发明再提供一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
76.可以发现,以上方案,可以配置一套内部对实时通信库调用进行纯转发的实时通信纯转发库,和可以对该实时通信库和该实时通信纯转发库分别进行应用程序接口封装,以及可以根据该经封装后的实时通信库和该实时通信纯转发库,当使用实时通信剪裁库时,选择所需的底层实时通信引擎或不做选择,能够实现避免软件开发工具包出现风险或者漏洞等安全问题,又能够有效减小软件开发工具包的体积。
77.进一步的,以上方案,可以依照实时通信转的接口和调用方式,配置一套内部对实时通信库调用进行纯转发的实时通信纯转发库,这样的好处是能够实现由于该实时通信纯转发库不依赖声网软件开发工具包,能够有效减小软件开发工具包的体积。
78.进一步的,以上方案,可以通过在编译时将该实时通信库和该实时通信纯转发库都能正常编译,在运行时将该实时通信库匹配连麦功能和将该实时通信纯转发库不匹配连麦功能的方式,对该实时通信库和该实时通信纯转发库分别进行应用程序接口封装,这样的好处是由于该实时通信纯转发库不匹配连麦功能所以该实时通信纯转发库不依赖声卡软件开发工具包,能够有效减小软件开发工具包的体积。
79.进一步的,以上方案,可以根据该经封装后的实时通信库和该实时通信纯转发库,当使用实时通信剪裁库时,通过项目自动化建构工具设置方式,选择所需的底层实时通信引擎或不做选择,这样的好处是能够实现避免被第三方风险监测机构检测到软件开发工具包有风险或者漏洞等安全问题。
80.进一步的,以上方案,可以对该选择的所需的底层实时通信引擎或不做选择进行记录管理,这样的好处是能够实现方便的对该选择的所需的底层实时通信引擎或不做选择进行有效的管理。
81.在本发明所提供的几个实施方式中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元
或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
82.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
83.另外,在本发明各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
84.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
85.以上所述仅为本发明的部分实施例,并非因此限制本发明的保护范围,凡是利用本发明说明书及附图内容所作的等效装置或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
技术特征:
1.一种实时通信库裁剪方法,其特征在于,包括:配置一套内部对实时通信库调用进行纯转发的实时通信纯转发库;对所述实时通信库和所述实时通信纯转发库分别进行应用程序接口封装;根据所述经封装后的实时通信库和所述实时通信纯转发库,当使用实时通信剪裁库时,选择所需的底层实时通信引擎或不做选择;所述对所述实时通信库和所述实时通信纯转发库分别进行应用程序接口封装,包括:通过在编译时将所述实时通信库和所述实时通信纯转发库都能正常编译,在运行时将所述实时通信库匹配连麦功能和将所述实时通信纯转发库不匹配连麦功能的方式,对所述实时通信库和所述实时通信纯转发库分别进行应用程序接口封装。2.如权利要求1所述的实时通信库裁剪方法,其特征在于,所述配置一套内部对实时通信库调用进行纯转发的实时通信转发库,包括:依照实时通信转的接口和调用方式,配置一套内部对实时通信库调用进行纯转发的实时通信纯转发库。3.如权利要求1所述的实时通信库裁剪方法,其特征在于,所述根据所述经封装后的实时通信库和所述实时通信纯转发库,当使用实时通信剪裁库时,选择所需的底层实时通信引擎或不做选择,包括:根据所述经封装后的实时通信库和所述实时通信纯转发库,当使用实时通信剪裁库时,通过项目自动化建构工具设置方式,选择所需的底层实时通信引擎或不做选择。4.如权利要求1所述的实时通信库裁剪方法,其特征在于,在所述根据所述经封装后的实时通信库和所述实时通信纯转发库,当使用实时通信剪裁库时,选择所需的底层实时通信引擎或不做选择之后,还包括:对所述选择的所需的底层实时通信引擎或不做选择进行记录管理。5.一种实时通信库裁剪装置,其特征在于,包括:配置模块、封装模块和选择模块;所述配置模块,用于配置一套内部对实时通信库调用进行纯转发的实时通信纯转发库;所述封装模块,用于对所述实时通信库和所述实时通信纯转发库分别进行应用程序接口封装;所述选择模块,用于根据所述经封装后的实时通信库和所述实时通信纯转发库,当使用实时通信剪裁库时,选择所需的底层实时通信引擎或不做选择;所述封装模块,具体用于:通过在编译时将所述实时通信库和所述实时通信纯转发库都能正常编译,在运行时将所述实时通信库匹配连麦功能和将所述实时通信纯转发库不匹配连麦功能的方式,对所述实时通信库和所述实时通信纯转发库分别进行应用程序接口封装。6.如权利要求5所述的实时通信库裁剪装置,其特征在于,所述配置模块,具体用于:依照实时通信转的接口和调用方式,配置一套内部对实时通信库调用进行纯转发的实时通信纯转发库。7.如权利要求5所述的实时通信库裁剪装置,其特征在于,所述选择模块,具体用于:根据所述经封装后的实时通信库和所述实时通信纯转发库,当使用实时通信剪裁库
时,通过项目自动化建构工具设置方式,选择所需的底层实时通信引擎或不做选择。8.如权利要求5所述的实时通信库裁剪装置,其特征在于,所述实时通信库裁剪装置,还包括:记录管理模块;所述记录管理模块,用于对所述选择的所需的底层实时通信引擎或不做选择进行记录管理。
技术总结
本发明公开了一种实时通信库裁剪方法、装置、计算机设备。所述方法包括:配置内部对实时通信库调用进行纯转发的实时通信纯转发库,对实时通信库和该实时通信纯转发库分别进行应用程序接口封装,根据该经封装后的实时通信库和该实时通信纯转发库,当使用实时通信剪裁库时,选择所需的底层实时通信引擎。所述分别进行应用程序接口封装的步骤包括:通过在编译时将实时通信库和实时通信纯转发库都能正常编译,在运行时将实时通信库匹配连麦功能和将实时通信纯转发库不匹配连麦功能的方式,对实时通信库和实时通信纯转发库分别进行应用程序接口封装。本发明能够避免软件开发工具包出现风险或漏洞等安全问题,又能够有效减小软件开发工具包的体积。发工具包的体积。发工具包的体积。
技术研发人员:黄伟杰 白剑 黄海亮 梁瑛玮 张海林 鲁和平 李长杰 陈焕然 邓叶秾 李乐 王浩 洪行健 丁一 冷冬
受保护的技术使用者:广州易方信息科技股份有限公司
技术研发日:2022.02.18
技术公布日:2022/5/25
转载请注明原文地址:https://tc.8miu.com/read-7457.html