方案生成方法、设备升级方法及相关装置、设备和介质与流程



1.本技术涉及数据处理技术领域,特别是涉及一种方案生成方法、设备升级方法及相关装置、设备和介质。


背景技术:



2.目前,需求方对于场景任务的要求越来越精细化、复杂化、深度化。为了适应于复杂场景,目前提供的解决方案包含的算法模块(如,神经网络等)越来越多。
3.经调研发现,在满足性能的前提下,采用了大量的算法模块级联与并联来细化复杂的任务。例如,结构化算法一般会用到20~40多个算法模块,由此而导致交付速度和效率受到极大影响。有鉴于此,如何提升算法方案的交付速度和效率,成为亟待解决的问题。


技术实现要素



4.本技术主要解决的技术问题是提供一种方案生成方法、设备升级方法及相关装置、设备和介质,能够提升算法方案的交付速度和效率。
5.为了解决上述问题,本技术第一方面提供了一种方案生成方法,包括:基于若干目标方案要素的解析结果分别与复用编译库进行分析,得到表征若干目标方案要素分别是否可复用编译的分析结果;其中,若干目标方案要素至少包括目标算法模块的算法库,且复用编译库至少包括若干候选方案要素的编译产物;对于若干目标方案要素,分别基于分析结果,执行编译操作或者结合复用编译库执行复用编译,得到目标方案要素的编译产物;至少基于若干目标方案要素的编译产物进行集成打包,得到算法解决方案包。
6.为了解决上述问题,本技术第二方面提供了一种设备升级方法,包括:基于若干目标方案要素进行方案生成,得到算法解决方案包;其中,算法解决方案包基于上述第一方面中的方案生成方法得到;将算法解决方案包上传至目标设备进行升级。
7.为了解决上述问题,本技术第三方面提供了一种方案生成装置,包括:复用分析模块、产物获取模块和集成打包模块,复用分析模块,用于基于若干目标方案要素的解析结果分别与复用编译库进行分析,得到表征若干目标方案要素分别是否可复用编译的分析结果;其中,若干目标方案要素至少包括目标算法模块的算法库,且复用编译库至少包括若干候选方案要素的编译产物;产物获取模块,用于对于若干目标方案要素,分别基于分析结果,执行编译操作或者结合复用编译库执行复用编译,得到目标方案要素的编译产物;集成打包模块,用于至少基于若干目标方案要素的编译产物进行集成打包,得到算法解决方案包。
8.为了解决上述问题,本技术第四方面提供了一种设备升级装置,包括:生成模块和上传模块,生成模块,用于基于若干目标方案要素进行方案生成,得到算法解决方案包;其中,算法解决方案包基于上述第三方面中的方案生成装置得到,上传模块,用于将算法解决方案包上传至目标设备进行升级。
9.为了解决上述问题,本技术第五方面提供了一种电子设备,包括:相互耦接的存储
器和处理器,存储器存储有程序指令,处理器用于执行程序指令以实现上述第一方面中的方案生成方法,或实现上述第二方面中的设备升级方法。
10.为了解决上述问题,本技术第六方面提供了一种计算机可读存储介质,存储有能够被处理器运行的程序指令,程序指令用于上述第一方面中的方案生成方法,或实现上述第二方面中的设备升级方法。
11.上述方案,基于若干目标方案要素的解析结果分别与复用编译库进行分析,得到表征若干目标方案要素分别是否可复用编译的分析结果,且若干目标方案要素至少包括目标算法模块的算法库,复用编译库至少包括若干候选方案要素的编译产物。在此基础上,对于若干目标方案要素,分别基于分析结果,执行编译操作或者结合复用编译库执行复用编译,得到目标方案要素的编译产物,再至少基于若干目标方案要素的编译产物进行集成打包,得到算法方案解决方案包。由于在编译、集成打包之前,先分析各个目标方案要素是否可复用编译,并基于分析结果,对各个目标方案要素,执行编译操作或结合复用编译库执行复用编译,从而相较于直接对所有目标方案要素执行编译操作而言,能够尽可能地减少编译操作,特别是在算法模块较多的情况下,能够有助于进一步减少编译操作,提升编译速度,进而能够有助于提升算法方案的交付速度和效率。
附图说明
12.图1是本技术方案生成方法一实施例的流程示意图;
13.图2是算法方案库链接一实施例的示意图;
14.图3是算法解决方案包一实施例的示意图;
15.图4是本技术设备升级方法一实施例的流程示意图;
16.图5是本技术方案生成装置一实施例的框架示意图;
17.图6是本技术设备升级装置一实施例的框架示意图;
18.图7是本技术电子设备一实施例的框架示意图;
19.图8是本技术计算机可读存储介质一实施例的框架示意图。
具体实施方式
20.下面结合说明书附图,对本技术实施例的方案进行详细说明。
21.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本技术。
22.本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。
23.请参阅图1,图1是本技术方案生成方法一实施例的流程示意图。
24.具体而言,可以包括如下步骤:
25.步骤s11:基于若干目标方案要素的解析结果分别与复用编译库进行分析,得到表征若干目标方案要素分别是否可复用编译的分析结果。
26.本公开实施例中,若干目标方案要素至少包括目标算法模块的算法库。需要说明
的是,目标算法模块的数量和种类不做限定,以实现最终生成的算法解决方案包预期达到功能为宜。示例性地,算法解决方案包预期达到功能为“轨迹提取”,则可以包含一个种类为“目标检测”的算法模块和一个种类为“目标跟踪”的算法模块;或者,算法解决方案包预期达到功能为“语音交互”,则可以包括一个种类为“语音识别”的算法模块、一个种类为“语义理解”的算法模块和一个种类为“语音合成”的算法模块。其他情况可以以此类推,在此不再一一举例。
27.在一个实施场景中,本公开实施例中所述的“目标算法模块”、“候选算法模块”等“算法模块”,如无特殊说明,既可以指神经网络,也可以指算子函数,还可以是任何可实现一定功能的算法(如,程序等),在此对“算法模块”的形式不做限定。示例性地,种类为“目标检测”的算法模块可以包括但不限于yolo、faster rcnn等神经网络;或者,种类为“边缘提取”的算法模块可以包括但不限于canny、sobel等算子函数。其他情况可以以此类推,在此不再一一举例。此外,需要说明的是,尽管上述所列举的各种算法模块均适应于图像数据处理的应用场景,但并不因此而限定算法模块的适用场景,还可以包括但不限于适用于语音数据处理、文本数据处理等其他数据处理场景的算法模块,在此不做限定。
28.在一个实施场景中,目标算法模块的算法库可以包括但不限于:用于实现目标算法模块的程序代码、用于配置目标算法模块的配置文件等,在此不做限定。
29.在一个实施场景中,为了便于后续集成打包后所得到的算法解决方案包能够得以顺利部署,若干目标方案要素还可以包括但不限于:通用基础库、集成库。需要说明的是,通用基础库包含算法通用功能的实现,例如:内存管理、队列、线程池、链表、推理引擎、模型加载等;集成库包含算法方案接口的输入和输出管理、各个算法间的调度、算法方案流水线的创建及管理、算法方案结果的汇总及后续处理、对应算法方案app业务的实现、各个算法的送帧、算法结果的过滤等。为了便于描述,可以将上述算法模块的算法库、通用基础库和集成库,统称为算法方案三方,通过读取并解析算法方案三方,即可得到上述各个目标方案要素的解析结果。
30.本公开实施例中,复用编译库可以至少包括若干候选方案要素的编译产物。需要说明的是,候选方案要素的具体含义,可以参阅前述目标方案要素,在此不再赘述。区别主要在于,复用编译库中候选方案要素为在此之前已编译方案要素,而并不一定如目标方案要素适用于生成算法解决方案包。此外,本公开实施例中,编译产物可以包括但不限于:程度代码经编译生成相应封装好的文件等,在此不做限定。关于编译产物的具体含义,可以参阅程序编译的技术细节,在此不再赘述。
31.在一个实施场景中,解析结果至少可以包括目标方案要素的要素标识和要素版本,相应地,复用编译库还可以包括候选方案要素的要素标识和要素版本。在此基础上,可以由目标方案要素的要素标识和要素版本,及候选方案要素的要素标识和要素版本进行匹配校验,即可得到分析结果。上述方式,通过目标方案要素的要素标识和要素版本,及候选方案要素的要素标识和要素版本进行匹配校验,得到分析结果,从而在分析过程中能够从要素标识和要素版本两方面考虑,有助于提升分析结果的准确性。
32.在一个具体的实施场景中,要素标识可以包括要素名称、要素源码地址中至少一者。例如,要素标识可以包括要素名称,或者,要素标识可以包括要素源码地址,或者,要素标识可以包括要素名称和要素源码地址,在此不做限定。上述方式,要素标识设置为包括要
素名称、要素源码地址中至少一者,从而在通过要素标识进行匹配校验时,能尽可能考虑不同方面,有助于提升分析结果的准确性。
33.在一个具体的实施场景中,响应于复用编译库中存在与目标方案要素关于要素标识匹配成功的候选方案要素,可以获取匹配成功的候选方案要素与目标方案要素关于要素版本的校验结果,并基于校验结果是否为校验成功,确定分析结果。需要说明的是,在执行关于要素标识的匹配过程中,具体可以通过前述要素名称、要素源码地址中至少一者进行字符串匹配,具体匹配方式,可以参阅字符串匹配的技术细节,在此不再赘述。此外,在某一目标方案要素成功匹配到复用编译库中某一候选方案要素时,可以继续获取该目标方案要素与该候选方案要素关于要素版本的校验结果。具体来说,可以校验该目标方案要素和该候选方案要素两者的要素版本是否一致,若一致,则可以确定校验结果为校验成功,否则可以确定校验结果为校验失败。上述方式,响应于复用编译库中存在与目标方案要素关于要素标识匹配成功的候选方案要素,获取匹配成功的候选方案要素与目标方案要素关于要素版本的校验结果,并基于校验结果,确定分析结果,故通过先匹配要素标识再校验要素版本的方式,确定分析结果,有助于提升分析效率。
34.此外,在得到校验结果之后,响应于校验结果为校验成功,则可以确定分析结果包括目标方案要素可复用匹配成功的候选方案要素的编译产物;反之,响应于校验结果为校验失败,则可以确定分析结果包括目标方案要素不可复用编译。上述方式,在要素标识匹配成功且要素版本校验成功的情况下,确定分析结果包括目标方案要素可复用匹配成功的候选方案要素的编译产物,否则确定分析结果包括目标方案要素不可复用编译,故能够进一步提升分析结果的准确性。
35.此外,需要说明的是,若复用编译库中不存在与目标方案要素关于要素标识匹配成功的候选方案要素,则可以确定分析结果包括目标方案要素不可复用编译。上述方式,若要素标识匹配不成功,则直接确定分析结果包括目标方案要素不可复用编译,而无需再执行后续关于要素版本的校验,有助于进一步提升分析效率。
36.在一个具体的实施场景中,与前述分析过程不同的是,在对分析效率要求相对宽松的情况下,还可以响应于复用编译库中存在与目标方案要素关于要素版本校验成功的候选方案要素,获取校验成功的候选方案要素与目标方案要素关于要素标识的匹配结果,并基于匹配结果是否为匹配成功,确定分析结果。也就是说,与前述分析过程不同的是,也可以先校验要素版本,再匹配要素标识,具体过程可以参阅前述相关描述,在此不再赘述。
37.步骤s12:对于若干目标方案要素,分别基于分析结果,执行编译操作或者结合复用编译库执行复用编译,得到目标方案要素的编译产物。
38.在一个实施场景中,对于分析结果表征可复用编译的目标方案要素而言,可以对该目标方案要素跳过编译,直接获取复用编译库中匹配成功的候选方案要素的编译产物,作为该目标方案要素的编译产物。
39.在一个实施场景中,对于分析结果表征不可复用编译的目标方案要素而言,需对这些目标方案要素执行编译操作,以得到这些目标方案要素的编译产物。为了进一步提升编译效率,以提升算法方案的交付速度和效率,可以先基于分析结果进行统计,得到不可复用编译的目标方案要素的总数值,再基于总数值和当前编译环境,对多个不可复用编译的目标方案要素并发执行编译操作。需要说明的是,当前编译环境包括但不限于:当前支持并
发编译操作的数量等,在此不做限定。当前编译环境与本技术方案生成方法所运行的硬件平台分配给编译操作的硬件资源相关,分配给编译操作的硬件资源越多,支持并发编译操作的数量越多,反之,分配给编译操作的硬件资源越少,支持并发编译操作的数量越少。上述方式,在分析结果表征目标方案要素不可复用编译的情况下,基于分析结果进行统计,得到不可复用编译的目标方案要素的总数值,并基于总数值和当前编译环境,对多个不可复用编译的目标方案要素并发执行编译操作,从而能够有助于提升编译速度,进而能够进一步提升算法方案的交付速度和效率。
40.在一个具体的实施场景中,一次并发执行编译操作的目标方案要素的具体数量,与当前支持并发编译操作的数量和总数值相关,具体地,该具体数量应不大于上述两者中的较小值。示例性地,若当前支持并发编译操作的数量(如,5)大于总数值(如,4),则一次并发执行编译操作的目标方案要素的具体数量应不大于总数值(如,4),如为了进一步提升编译效率,此时可以一次将所有不可复用编译的目标方案要素全部并发执行编译操作;或者,若当前支持并发编译操作的数量(如,4)小于总数值(如,5),则一次并发执行编译操作的目标方案要素的具体数量应不大于当前支持并发编译操作的数量(如,4),如为了进一步提升编译效率,此时可一次并发执行编译操作的目标方案要素的数量为4,并在本次并发执行编译操作结束之后,再一次对未执行编译操作的目标方案要素继续并发执行编译操作,具体操作方式与前述过程相同,在此不再赘述。当然,若当前支持并发编译操作的数量(如,4)等于总数值(如,4),则一次并发执行编译操作的目标方案要素的具体数量应不大于上述任一者,如为了进一步提升编译效率,此时可以一次将所有不可复用编译的目标方案要素全部并发执行编译操作。
41.在一个具体的实施场景中,在并发执行编译操作时,可以采用多线程或多进程技术,并发下载各个不可复用编译的目标方案要素的要素仓库至临时编译路径,在临时编译路径分别对各个要素仓库按照编译参数执行编译操作,并将编译操作执行完毕所生成的编译产物拷贝到临时编译路径。需要说明的是,要素仓库可以包括但不限于:目标方案要素的源代码等,在此不做限定。此外,为了进一步提升后续集成打包的便利性,对于分析结果表征可复用编译的目标方案要素而言,其通过复用编译所得到的编译产物,也可拷贝至该临时编译路径。当然,为了便于执行编译操作,在执行编译操作之前,可以先对编译环境执行初始化操作,如可以确定编译参数、编译路径、编译容器镜像等,在此不做限定。
42.在一个实施场景中,如前所述,在得到对不可复用编译的目标方案要素执行编译操作之后,可以得到目标方案要素的编译产物,则为了进一步提升复用编译库的丰富性,可对复用编译库进行迭代更新。具体来说,在分析结果表征目标方案要素不可复用编译的情况下,可以基于目标方案要素的编译产物,更新复用编译库。上述方式,在分析结果表征目标方案要素不可复用编译的情况下,基于目标方案要素的编译产物,更新复用编译库,从而能够支持方案要素的迭代更新,有助于进一步提升后续方案生成时的交付速度和效率。
43.在一个具体的实施场景中,响应于复用编译库中存在与目标方案要素具有相同要素标识的候选方案要素,将复用编译库中候选方案要素的编译产物,替换为目标方案要素的编译产物。也就是说,如果复用编译库中已经存在与目标方案要素具有相同要素标识的候选方案要素,则可以确定该目标方案要素主要是因为要素版本更新,而不能够复用具有相同要素标识的候选方案要素的编译产物,故为了便于后续继续使用复用编译库,可以将
复用编译库中该候选方案要素的编译产物,调换为目标方案要素执行编译操作所得到的编译产物。此外,在替换编译产物之后,还可以同时更新要素版本。上述方式,响应于复用编译库中存在与目标方案要素具有相同要素标识的候选方案要素,将复用编译库中候选方案要素的编译产物,替换为目标方案要素的编译产物,从而能够在要素版本更新时,支持复用编译库的同步更新。
44.在一个具体的实施场景中,区别于前述方式,还可以响应于复用编译库中不存在与目标方案要素具有相同要素标识的候选方案要素,至少将目标方案要素的编译产物添加至复用编译库。也就是说,如果复用编译库中不存在与目标方案要素具有相同要素标识的候选方案要素,则可以确定该目标方案要素主要是因为之前甚至从未编译过相同要素标识的方案要素,而不能够复用编译,故为了后续继续使用复用编译库,可以直接将目标方案要素的编译产物添加至复用编译库。具体地,可以在复用编译库为每个候选方案要素单独新建一个文件夹,用于存放该候选方案要素的编译产物,则在此情况下,可以在复用编译库为目标方案要素新建一个文件夹,并将目标方案要素的编译产物添加至该文件夹。此外,在添加编译产物之后,还可以同时记录要素标识及要素版本。上述方式,响应于复用编译库中不存在与目标方案要素具有相同要素标识的候选方案要素,至少将目标方案要素的编译产物添加至复用编译库,从而能够在新增要素时,支持复用编译库的同步更新。
45.步骤s13:至少基于若干目标方案要素的编译产物进行集成打包,得到算法解决方案包。
46.在一个实施场景中,算法解决方案包中可以包括算法方案库,算法方案库基于算法方案连接库表中的预设顺序,对若干目标方案要素的编译产物进行链接得到,且算法方案库具体可以为动态库。上述方式,算法解决方案包中的算法方案库采用动态库,故在已有部署设备上,可以直接升级算法解决方案包,有助于提升设备升级的便利性。
47.在一个具体的实施场景中,为了便于执行集成打包操作,可以预先对集成环境进行初始化,如可以下载集成打包仓库至临时编译路径,且如前所述,各个目标方案要素的编译产物存储于该临时编译路径。在此基础上,可以进一步设置算法方案宏,指定各算法接口版本,根据算法方案链接库表,指定算法库类型(静态库或者动态库)、算法库路径、链接顺序等,并将各算法模块的接口函数符合和其他符号表隐藏,使用算法方案统一对外符号表接口输出符号。在此基础上,再将算法方案统一对外接口利用加密狗和校验库进行加密,以及根据算法方案链接库表中的预设顺序,对各个目标方案要素的编译产物进行链接,得到算法方案库。请结合参阅图2,图2是算法方案库链接一实施例的示意图。如图2所示,通过对图2中算法库a、算法库b、算法库c、集成库、通用基础库各目标方案要素的编译产物按照算法方案链接库表中的预设顺序进行链接之后,即可算法方案库。
48.在一个具体的实施场景中,算法方案库具体可以包括算法方案调试库、算法方案发布库中至少一者,即算法方案调试库和算法方案发布库均为动态库,方便在设备上直接升级。示例性地,在链接过程中,可以根据是否新增-g选项(即debug选项),链接得到算法方案调试库或算法方案发布库,如在新增-g选项时,可以链接得到算法方案调试库,或者在未新增-g选项时,可以链接得到算法方案发布库。此外,在链接失败时,还可以给出链接失败的日志信息,以方便开发人员定位解决问题。
49.在一个实施场景中,算法解决方案包中还可以包括但不限于:算法方案路径中的
配置问价和方案流水线、各个算法模块、调试工具等,在此不做限定。下面请结合参阅图3,具体说明算法解决方案包中上述各个部分。如图3所示,图3是算法解决方案包一实施例的示意图:
50.在一个具体的实施场景中,可以将前述算法方案调试库、算法方案发布库拷贝至bin文件夹。
51.在一个具体的实施场景中,可以将算法方案路径中的配置文件和方案流水线拷贝至cfg文件夹。
52.在一个具体的实施场景中,可以在models文件夹中为各个算法模块分别创建文件夹,并将各个算法模块的配置文件按照名称拷贝至对应的文件夹。
53.在一个具体的实施场景中,可以将算法方案相关调试工具拷贝至san_bin文件夹。
54.在一个实施场景中,算法解决方案包中还可以包括版本管理配置文件,版本管理配置文件可以包括但不限于:api版本、编译器、算法方案库的名称(如,libai_sdk_方案名_细分方案名.so)、设备sdk版本、算法解决方案版本号。算法方案库的具体含义,可以参阅前述相关描述,在此不再赘述。需要说明的是,版本管理配置文件具体可以为json格式,在此不做限定。此外,版本管理配置文件可以拷贝至doc文件夹(图3中未示意)。上述方式,算法解决方案包还含有版本管理配置文件,版本管理配置文件包含:api版本、编译器、算法方案库的名称、设备sdk版本、算法解决方案版本号,算法方案库基于算法方案连接库表中的预设顺序,对若干目标方案要素的编译产物进行链接得到,故通过在算法解决方案包中进一步设置包含版本管理配置文件,能够有利于算法方案迭代管理。
55.在一个实施场景中,为了进一步便于算法方案迭代管理,算法解决方案包还可以按照如下格式命名:客户类型、产品名称、方案名称、细分方案名、性能类别、主版本号、次版本号、客户标识版本号、修订版本号、版本发布类型、发布日期。示例性地,算法解决方案包可以命名为:general_iba-videostructure-pl_v2.005.0000000.38.r.20220613。也就是说,客户类型为“general”,产品名称为“iba”,方案名称为“videostructure”,细分方案名为“pl”,主版本号为“2”,次版本号为“005”,客户标识版本号为“0000000”,修订版本号为“38”,版本发布类型为“r”,发布日期为“20220613”。上述英文名称仅仅是在具体产品中一种可能的名称,并不代表为命名规则本身赋予特殊含义,故在此对上述英文名称的具体含义,也不再赘述。此外,可以将按照上述规则得到的名称,作为算法解决方案包的版本号,故可以将上述文件夹压缩打包得到算法解决方案包:版本号.tar.gz。上述方式,算法解决方案包按照如下格式命名:客户类型、产品名称、方案名称、细分方案名、性能类别、主版本号、次版本号、客户标识版本号、修订版本号、版本发布类型、发布日期,故能够在命名时从尽可能多的角度限定算法解决方案包,有利于算法方案迭代管理。
56.在一个实施场景中,为了便于开发,还可以将各个目标方案要素汇总打包,得到方案要素包,并将该方案要素包与算法解决方案包存于同一级目录。示例性地,如前所述,若干目标方案要素可以包括但不限于:算法模块的算法库、通用基础库和集成库,则可以将上述拷贝至staticlib文件夹,并打包生成staticlib.tar.gz方案要素包,作为后期本地编译和调试使用。
57.在一个实施场景中,为了进一步提升编译速度,在基于若干目标方案要素的编译产物进行集成打包,得到候选解决方案包之后,响应于当前状态满足预设条件,还可以采用
dlopen方式链接算法方案库,以编译生成算法方案应用样例(即demo)的执行文件,并至少将执行文件和算法方案应用样例依赖的设备sdk库,合并至候选解决方案包,得到算法解决方案包。需要说明的是,候选解决方案包即为将上述文件夹压缩打包所得到的压缩包,具体可以参阅前述相关描述,在此不再赘述。此外,关于算法方案库的具体含义,可以参阅前述相关描述,在此亦不再赘述。此外,dlopen的具体过程,可以参阅dlopen的技术细节,在此不再赘述。上述方式,基于若干目标方案要素的编译产物进行集成打包,得到候选解决方案包,响应于当前状态满足预设条件,采用dlopen方式链接算法方案库,以编译生成算法方案应用样例的执行文件,并至少将执行文件和算法方案应用样例依赖的设备sdk库,合并至候选解决方案包,得到算法解决方案包,通过dlopen方式链接算法方案库,可以在编译阶段与算法方案库分离,提升编译速度。
58.在一个具体的实施场景中,预设条件具体可以设置为包括以下任一者:设备首次部署方案包、算法方案应用样例发生变更。也就是说,当设备首次部署方案包,或者算法方案应用样例发生变更时,可以执行采用dlopen方式链接算法方案库,以编译生成算法方案应用样例的执行文件的步骤以及后续步骤。上述方式,将预设条件设置为包括以下任一者:设备首次部署方案包、算法方案应用样例发生变更,能够有利于算法解决方案包在设备顺利部署。
59.在一个具体的实施场景中,为了便于demo编译,可以预先对demo环境初始化,如可以下载demo仓库到临时编译路径,并初始化诸如解码率等参数。需要说明的是,demo具体可以包含视频、图像等数据解码功能、算法方案调用功能、算法方案结果处理等功能,在此不做限定。
60.在一个具体的实施场景中,在编译生成执行文件之后,还可以利用加签工具生成数字加密签名(如rsa),并将其作为私有部分插入到执行文件(如elf二进制文件)中,然后由带验证功能的内核对程序完整性进行验证。
61.在一个具体的实施场景中,请结合参阅图3,可以将执行文件拷贝至demo文件夹,将demo依赖的设备sdk库拷贝至lib文件夹,将demo的配置文件和算法方案密钥拷贝至demo文件夹cfg路径下(未图示),并将demo的执行脚本(包含后续所要部署的目标设备上的环境变量和调用执行文件的方法等)拷贝至如图3所示的打包路径,从而使得上述文件均合并至候选解决方案包中,得到最终的算法解决方案包,以供后续目标设备升级之用。
62.在一个实施场景中,区别于前述方式,若当前状态满足预设条件,则可以直接将候选解决方案包作为最终的算法解决方案包。此外,为了使算法解决方案包后续能够在目标设备得以顺序部署,还可以预先上传sdk包。
63.需要说明的是,为了提升方案生成的便利性,作为一种可能的实施方式,可以预先设置ai开放平台,ai开放平台可以内置有多种sdk库、多种算法模块等适用于多方案、多平台的资源数据。在此基础上,ai开放平台能够自动根据用户在ai开放平台为生成算法解决方案包而输入的配置信息,执行本公开实施例中步骤得到算法解决方案包,具体过程可以参阅前述相关描述,在此不再赘述。
64.上述方案,基于若干目标方案要素的解析结果分别与复用编译库进行分析,得到表征若干目标方案要素分别是否可复用编译的分析结果,且若干目标方案要素至少包括目标算法模块的算法库,复用编译库至少包括若干候选方案要素的编译产物。在此基础上,对
于若干目标方案要素,分别基于分析结果,执行编译操作或者结合复用编译库执行复用编译,得到目标方案要素的编译产物,再至少基于若干目标方案要素的编译产物进行集成打包,得到算法方案解决方案包。由于在编译、集成打包之前,先分析各个目标方案要素是否可复用编译,并基于分析结果,对各个目标方案要素,执行编译操作或结合复用编译库执行复用编译,从而相较于直接对所有目标方案要素执行编译操作而言,能够尽可能地减少编译操作,特别是在算法模块较多的情况下,能够有助于进一步减少编译操作,提升编译速度,进而能够有助于提升算法方案的交付速度和效率。
65.请参阅图4,图4是本技术设备升级一实施例的框架示意图。具体而言,可以包括如下步骤:
66.步骤s41:基于若干目标方案要素进行方案生成,得到算法解决方案包。
67.本公开实施例中,算法解决方案包基于上述方案生成方法实施例得到,具体可以参阅前述公开实施例,在此不再赘述。
68.步骤s42:将算法解决方案包上传至目标设备进行升级。
69.具体地,在得到算法解决方案包之后,即可将算法解决方案包上传至目标设备,目标设备在接收到算法解决方案包之后,即可在本地自动执行解析、验证、运行等操作,以完成设备升级。
70.上述方案,基于若干目标方案要素进行方案生成,得到算法解决方案包,且算法解决方案包基于上述方案生成方法实施例得到,从而能够有助于提升编译速度和效率,并将算法解决方案包上传至目标设备进行升级,故能够提升交付速度和效率。
71.请参阅图5,图5是本技术方案生成装置50一实施例的框架示意图。方案生成装置50包括:复用分析模块51、产物获取模块52和集成打包模块53,复用分析模块51,用于基于若干目标方案要素的解析结果分别与复用编译库进行分析,得到表征若干目标方案要素分别是否可复用编译的分析结果;其中,若干目标方案要素至少包括目标算法模块的算法库,且复用编译库至少包括若干候选方案要素的编译产物;产物获取模块52,用于对于若干目标方案要素,分别基于分析结果,执行编译操作或者结合复用编译库执行复用编译,得到目标方案要素的编译产物;集成打包模块53,用于至少基于若干目标方案要素的编译产物进行集成打包,得到算法解决方案包。
72.上述方案,由于在编译、集成打包之前,先分析各个目标方案要素是否可复用编译,并基于分析结果,对各个目标方案要素,执行编译操作或结合复用编译库执行复用编译,从而相较于直接对所有目标方案要素执行编译操作而言,能够尽可能地减少编译操作,特别是在算法模块较多的情况下,能够有助于进一步减少编译操作,提升编译速度,进而能够有助于提升算法方案的交付速度和效率。
73.在一些公开实施例中,解析结果至少包括目标方案要素的要素标识和要素版本,复用编译库还至少包括各候选方案要素的要素标识和要素版本,且分析结果由目标方案要素的要素标识和要素版本,及候选方案要素的要素标识和要素版本进行匹配校验得到。
74.因此,通过目标方案要素的要素标识和要素版本,及候选方案要素的要素标识和要素版本进行匹配校验,得到分析结果,从而在分析过程中能够从要素标识和要素版本两方面考虑,有助于提升分析结果的准确性。
75.在一些公开实施例中,复用分析模块51包括校验结果获取子模块,用于响应于复
用编译库中存在与目标方案要素关于要素标识匹配成功的候选方案要素,获取匹配成功的候选方案要素与目标方案要素关于要素版本的校验结果;复用分析模块51包括分析结果确定子模块,用于基于校验结果是否为校验成功,确定分析结果。
76.因此,响应于复用编译库中存在与目标方案要素关于要素标识匹配成功的候选方案要素,获取匹配成功的候选方案要素与目标方案要素关于要素版本的校验结果,并基于校验结果,确定分析结果,故通过先匹配要素标识再校验要素版本的方式,确定分析结果,有助于提升分析效率。
77.在一些公开实施例中,分析结果确定子模块包括第一响应单元,用于响应于校验结果为校验成功,确定分析结果包括目标方案要素可复用匹配成功的候选方案要素的编译产物;分析结果确定子模块包括第二响应单元,用于响应于校验结果为校验失败,确定分析结果包括目标方案要素不可复用编译。
78.因此,在要素标识匹配成功且要素版本校验成功的情况下,确定分析结果包括目标方案要素可复用匹配成功的候选方案要素的编译产物,否则确定分析结果包括目标方案要素不可复用编译,故能够进一步提升分析结果的准确性。
79.在一些公开实施例中,复用分析模块51还包括复用确定子模块,用于响应于复用编译库中不存在与目标方案要素关于要素标识匹配成功的候选方案要素,确定分析结果包括目标方案要素不可复用编译。
80.因此,若要素标识匹配不成功,则直接确定分析结果包括目标方案要素不可复用编译,而无需再执行后续关于要素版本的校验,有助于进一步提升分析效率。
81.在一些公开实施例中,要素标识包括要素名称、要素源码地址中至少一者。
82.因此,要素标识设置为包括要素名称、要素源码地址中至少一者,从而在通过要素标识进行匹配校验时,能尽可能考虑不同方面,有助于提升分析结果的准确性。
83.在一些公开实施例中,方案生成装置50还包括更新模块,用于在分析结果表征目标方案要素不可复用编译的情况下,基于目标方案要素的编译产物,更新复用编译库。
84.因此,在分析结果表征目标方案要素不可复用编译的情况下,基于目标方案要素的编译产物,更新复用编译库,从而能够支持方案要素的迭代更新,有助于进一步提升后续方案生成时的交付速度和效率。
85.在一些公开实施例中,更新模块包括替换子模块,用于响应于复用编译库中存在与目标方案要素具有相同要素标识的候选方案要素,将复用编译库中候选方案要素的编译产物,替换为目标方案要素的编译产物;更新模块包括添加子模块,用于响应于复用编译库中不存在与目标方案要素具有相同要素标识的候选方案要素,至少将目标方案要素的编译产物添加至复用编译库。
86.因此,响应于复用编译库中存在与目标方案要素具有相同要素标识的候选方案要素,将复用编译库中候选方案要素的编译产物,替换为目标方案要素的编译产物,从而能够在要素版本更新时,支持复用编译库的同步更新;此外,响应于复用编译库中不存在与目标方案要素具有相同要素标识的候选方案要素,至少将目标方案要素的编译产物添加至复用编译库,从而能够在新增要素时,支持复用编译库的同步更新。
87.在一些公开实施例中,产物获取模块52包括统计子模块,用于在分析结果表征目标方案要素不可复用编译的情况下,基于分析结果进行统计,得到不可复用编译的目标方
案要素的总数值;产物获取模块52包括并发子模块,用于基于总数值和当前编译环境,对多个不可复用编译的目标方案要素并发执行编译操作。
88.因此,在分析结果表征目标方案要素不可复用编译的情况下,基于分析结果进行统计,得到不可复用编译的目标方案要素的总数值,并基于总数值和当前编译环境,对多个不可复用编译的目标方案要素并发执行编译操作,从而能够有助于提升编译速度,进而能够进一步提升算法方案的交付速度和效率。
89.在一些公开实施例中,算法解决方案包按照如下格式命名:客户类型、产品名称、方案名称、细分方案名、性能类别、主版本号、次版本号、客户标识版本号、修订版本号、版本发布类型、发布日期。
90.因此,算法解决方案包按照如下格式命名:客户类型、产品名称、方案名称、细分方案名、性能类别、主版本号、次版本号、客户标识版本号、修订版本号、版本发布类型、发布日期,故能够在命名时从尽可能多的角度限定算法解决方案包,有利于算法方案迭代管理。
91.在一些公开实施例中,算法解决方案包还含有版本管理配置文件,版本管理配置文件包含:api版本、编译器、算法方案库的名称、设备sdk版本、算法解决方案版本号,算法方案库基于算法方案连接库表中的预设顺序,对若干目标方案要素的编译产物进行链接得到。
92.因此,算法解决方案包还含有版本管理配置文件,版本管理配置文件包含:api版本、编译器、算法方案库的名称、设备sdk版本、算法解决方案版本号,算法方案库基于算法方案连接库表中的预设顺序,对若干目标方案要素的编译产物进行链接得到,故通过在算法解决方案包中进一步设置包含版本管理配置文件,能够有利于算法方案迭代管理。
93.在一些公开实施例中,算法解决方案包还包括算法方案库,且算法方案库为动态库。
94.因此,算法解决方案包中的算法方案库采用动态库,故在已有部署设备上,可以直接升级算法解决方案包,有助于提升设备升级的便利性。
95.在一些公开实施例中,集成打包模块53包括方案包获取子模块,用于基于若干目标方案要素的编译产物进行集成打包,得到候选解决方案包;集成打包模块53包括方案库链接子模块,用于响应于当前状态满足预设条件,采用dlopen方式链接算法方案库,以编译生成算法方案应用样例的执行文件,集成打包模块53包括文件合并子模块,用于至少将执行文件和算法方案应用样例依赖的设备sdk库,合并至候选解决方案包,得到算法解决方案包。
96.因此,基于若干目标方案要素的编译产物进行集成打包,得到候选解决方案包,响应于当前状态满足预设条件,采用dlopen方式链接算法方案库,以编译生成算法方案应用样例的执行文件,并至少将执行文件和算法方案应用样例依赖的设备sdk库,合并至候选解决方案包,得到算法解决方案包,通过dlopen方式链接算法方案库,可以在编译阶段与算法方案库分离,提升编译速度。
97.在一些公开实施例中,预设条件包括以下任一者:设备首次部署方案包、算法方案应用样例发生变更。
98.因此,将预设条件设置为包括以下任一者:设备首次部署方案包、算法方案应用样例发生变更,能够有利于算法解决方案包在设备顺利部署。
99.请参阅图6,图6是本技术设备升级装置60一实施例的框架示意图。设备升级装置60包括:生成模块61和上传模块62,生成模块61,用于基于若干目标方案要素进行方案生成,得到算法解决方案包;其中,算法解决方案包基于上述方案生成装置实施例中的方案生成装置得到,上传模块62,用于将算法解决方案包上传至目标设备进行升级。
100.上述方案,基于若干目标方案要素进行方案生成,得到算法解决方案包,且算法解决方案包基于上述方案生成装置实施例中的方案生成装置得到,从而能够有助于提升编译速度和效率,并将算法解决方案包上传至目标设备进行升级,故能够提升交付速度和效率。
101.请参阅图7,图7是本技术电子设备70一实施例的框架示意图。电子设备70包括相互耦接的存储器71和处理器72,存储器71存储有程序指令,处理器72用于执行程序指令以实现上述任一方案生成方法实施例中的步骤,或实现上述任一设备升级方法实施例中的步骤。具体地,电子设备70可以包括但不限于:台式计算机、笔记本电脑、服务器等,在此不做限定。
102.具体而言,处理器72用于控制其自身以及存储器71以实现上述任一方案生成方法实施例中的步骤,或实现上述任一设备升级方法实施例中的步骤。处理器72还可以称为cpu(central processing unit,中央处理单元)。处理器72可能是一种集成电路芯片,具有信号的处理能力。处理器72还可以是通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器72可以由多个集成电路芯片共同实现。
103.上述方案,由于在编译、集成打包之前,先分析各个目标方案要素是否可复用编译,并基于分析结果,对各个目标方案要素,执行编译操作或结合复用编译库执行复用编译,从而相较于直接对所有目标方案要素执行编译操作而言,能够尽可能地减少编译操作,特别是在算法模块较多的情况下,能够有助于进一步减少编译操作,提升编译速度,进而能够有助于提升算法方案的交付速度和效率。此外,通过上述方式得到算法解决方案包,并上传至目标设备升级,也有助于提升目标设备的升级效率。
104.请参阅图8,图8为本技术计算机可读存储介质80一实施例的框架示意图。计算机可读存储介质80存储有能够被处理器运行的程序指令81,程序指令81用于实现上述任一方案生成方法实施例中的步骤,或上述任一设备升级方法实施例中的步骤。
105.上述方案,由于在编译、集成打包之前,先分析各个目标方案要素是否可复用编译,并基于分析结果,对各个目标方案要素,执行编译操作或结合复用编译库执行复用编译,从而相较于直接对所有目标方案要素执行编译操作而言,能够尽可能地减少编译操作,特别是在算法模块较多的情况下,能够有助于进一步减少编译操作,提升编译速度,进而能够有助于提升算法方案的交付速度和效率。此外,通过上述方式得到算法解决方案包,并上传至目标设备升级,也有助于提升目标设备的升级效率。
106.在本技术所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨
论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
107.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
108.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
109.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本技术各个实施方式方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
110.若本技术技术方案涉及个人信息,应用本技术技术方案的产品在处理个人信息前,已明确告知个人信息处理规则,并取得个人自主同意。若本技术技术方案涉及敏感个人信息,应用本技术技术方案的产品在处理敏感个人信息前,已取得个人单独同意,并且同时满足“明示同意”的要求。例如,在摄像头等个人信息采集装置处,设置明确显著的标识告知已进入个人信息采集范围,将会对个人信息进行采集,若个人自愿进入采集范围即视为同意对其个人信息进行采集;或者在个人信息处理的装置上,利用明显的标识/信息告知个人信息处理规则的情况下,通过弹窗信息或请个人自行上传其个人信息等方式获得个人授权;其中,个人信息处理规则可包括个人信息处理者、个人信息处理目的、处理方式以及处理的个人信息种类等信息。

技术特征:


1.一种方案生成方法,其特征在于,包括:基于若干目标方案要素的解析结果分别与复用编译库进行分析,得到表征所述若干目标方案要素分别是否可复用编译的分析结果;其中,所述若干目标方案要素至少包括目标算法模块的算法库,且所述复用编译库至少包括若干候选方案要素的编译产物;对于所述若干目标方案要素,分别基于所述分析结果,执行编译操作或者结合所述复用编译库执行所述复用编译,得到所述目标方案要素的编译产物;至少基于所述若干目标方案要素的编译产物进行集成打包,得到算法解决方案包。2.根据权利要求1所述的方法,其特征在于,所述解析结果至少包括目标方案要素的要素标识和要素版本,所述复用编译库还至少包括各所述候选方案要素的要素标识和要素版本,且所述分析结果由所述目标方案要素的要素标识和要素版本,及所述候选方案要素的要素标识和要素版本进行匹配校验得到。3.根据权利要求2所述的方法,其特征在于,所述基于若干目标方案要素的解析结果分别与复用编译库进行分析,得到表征所述若干目标方案要素分别是否可复用编译的分析结果,包括:响应于所述复用编译库中存在与所述目标方案要素关于所述要素标识匹配成功的候选方案要素,获取所述匹配成功的候选方案要素与所述目标方案要素关于所述要素版本的校验结果;基于所述校验结果是否为校验成功,确定所述分析结果。4.根据权利要求3所述的方法,其特征在于,所述基于所述校验结果是否为校验成功,确定所述分析结果,包括以下至少一者:响应于所述校验结果为校验成功,确定所述分析结果包括所述目标方案要素可复用所述匹配成功的候选方案要素的编译产物;响应于所述校验结果为校验失败,确定所述分析结果包括所述目标方案要素不可复用编译。5.根据权利要求3所述的方法,其特征在于,所述方法还包括:响应于所述复用编译库中不存在与所述目标方案要素关于所述要素标识匹配成功的候选方案要素,确定所述分析结果包括所述目标方案要素不可复用编译。6.根据权利要求2至5任一项所述的方法,其特征在于,所述要素标识包括要素名称、要素源码地址中至少一者。7.根据权利要求1所述的方法,其特征在于,在所述分析结果表征所述目标方案要素不可复用编译的情况下,在所述得到所述目标方案要素的编译产物之后,所述方法还包括:基于所述目标方案要素的编译产物,更新所述复用编译库。8.根据权利要求7所述的方法,其特征在于,所述基于所述目标方案要素的编译产物,更新所述复用编译库,包括以下至少一者:响应于所述复用编译库中存在与所述目标方案要素具有相同要素标识的候选方案要素,将所述复用编译库中所述候选方案要素的编译产物,替换为所述目标方案要素的编译产物;响应于所述复用编译库中不存在与所述目标方案要素具有相同要素标识的候选方案要素,至少将所述目标方案要素的编译产物添加至所述复用编译库。
9.根据权利要求1所述的方法,其特征在于,在所述分析结果表征所述目标方案要素不可复用编译的情况下,对所述目标方案要素执行所述编译操作的步骤包括:基于所述分析结果进行统计,得到不可复用编译的目标方案要素的总数值;基于所述总数值和当前编译环境,对多个不可复用编译的目标方案要素并发执行所述编译操作。10.根据权利要求1所述的方法,其特征在于,所述算法解决方案包按照如下格式命名:客户类型、产品名称、方案名称、细分方案名、性能类别、主版本号、次版本号、客户标识版本号、修订版本号、版本发布类型、发布日期;和/或,所述算法解决方案包还含有版本管理配置文件,所述版本管理配置文件包含:api版本、编译器、算法方案库的名称、设备sdk版本、算法解决方案版本号,所述算法方案库基于算法方案连接库表中的预设顺序,对所述若干目标方案要素的编译产物进行链接得到。11.根据权利要求1所述的方法,其特征在于,所述算法解决方案包还包括算法方案库,且所述算法方案库为动态库。12.根据权利要求1所述的方法,其特征在于,所述至少基于所述若干目标方案要素的编译产物进行集成打包,得到算法解决方案包,包括:基于所述若干目标方案要素的编译产物进行集成打包,得到候选解决方案包;响应于当前状态满足预设条件,采用dlopen方式链接算法方案库,以编译生成算法方案应用样例的执行文件,并至少将所述执行文件和所述算法方案应用样例依赖的设备sdk库,合并至所述候选解决方案包,得到所述算法解决方案包。13.根据权利要求12所述的方法,其特征在于,所述预设条件包括以下任一者:设备首次部署方案包、算法方案应用样例发生变更。14.一种设备升级方法,其特征在于,包括:基于若干目标方案要素进行方案生成,得到算法解决方案包;其中,所述算法解决方案包基于权利要求1至13任一项所述的方案生成方法得到;将所述算法解决方案包上传至目标设备进行升级。15.一种方案生成装置,其特征在于,包括:复用分析模块,用于基于若干目标方案要素的解析结果分别与复用编译库进行分析,得到表征所述若干目标方案要素分别是否可复用编译的分析结果;其中,所述若干目标方案要素至少包括目标算法模块的算法库,且所述复用编译库至少包括若干候选方案要素的编译产物;产物获取模块,用于对于所述若干目标方案要素,分别基于所述分析结果,执行编译操作或者结合所述复用编译库执行所述复用编译,得到所述目标方案要素的编译产物;集成打包模块,用于至少基于所述若干目标方案要素的编译产物进行集成打包,得到算法解决方案包。16.一种设备升级装置,其特征在于,包括:生成模块,用于基于若干目标方案要素进行方案生成,得到算法解决方案包;其中,所述算法解决方案包基于权利要求15所述的方案生成装置得到;上传模块,用于将所述算法解决方案包上传至目标设备进行升级。
17.一种电子设备,其特征在于,包括相互耦接的存储器和处理器,所述存储器存储有程序指令,所述处理器用于执行所述程序指令以实现权利要求1至13任一项所述的方案生成方法,或实现权利要求14所述的设备升级方法。18.一种计算机可读存储介质,其特征在于,存储有能够被处理器运行的程序指令,所述程序指令用于实现权利要求1至13任一项所述的方案生成方法,或实现权利要求14所述的设备升级方法。

技术总结


本申请公开了一种方案生成方法、设备升级方法及相关装置、设备和介质,其中,方案生成方法包括:基于若干目标方案要素的解析结果分别与复用编译库进行分析,得到表征若干目标方案要素分别是否可复用编译的分析结果;其中,复用编译库至少包括若干候选方案要素的编译产物;对于若干目标方案要素,分别基于分析结果,执行编译操作或者结合复用编译库执行复用编译,得到目标方案要素的编译产物;至少基于若干目标方案要素的编译产物进行集成打包,得到算法解决方案包。上述方案,能够尽可能地减少编译操作,特别是在算法模块较多的情况下,能够有助于进一步减少编译操作,提升编译速度,进而能够有助于提升算法方案的交付速度和效率。率。率。


技术研发人员:

苏浩 殷俊 黄鹏 张小锋

受保护的技术使用者:

浙江大华技术股份有限公司

技术研发日:

2022.08.23

技术公布日:

2022/12/29

本文发布于:2024-09-23 10:20:01,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/49285.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:要素   方案   算法   目标
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议