CN112988267A - 加载方法、装置、存储介质及电子设备 - Google Patents

加载方法、装置、存储介质及电子设备 Download PDF

Info

Publication number
CN112988267A
CN112988267A CN202110257208.1A CN202110257208A CN112988267A CN 112988267 A CN112988267 A CN 112988267A CN 202110257208 A CN202110257208 A CN 202110257208A CN 112988267 A CN112988267 A CN 112988267A
Authority
CN
China
Prior art keywords
adapter
loading
target
load
request instruction
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.)
Pending
Application number
CN202110257208.1A
Other languages
English (en)
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.)
Beijing Dami Technology Co Ltd
Original Assignee
Beijing Dami Technology 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 Beijing Dami Technology Co Ltd filed Critical Beijing Dami Technology Co Ltd
Priority to CN202110257208.1A priority Critical patent/CN112988267A/zh
Publication of CN112988267A publication Critical patent/CN112988267A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请公开了一种加载方法、装置、存储介质及电子设备,属于计算机技术领域。所述加载方法包括:接收针对目标业务的加载请求指令,基于所述加载请求指令通过对外接口获取所述加载请求指令对应的目标适配器,控制所述目标适配器进行加载,得到对应的加载结果。故本申请中减少了加载代码的复杂度,同时便于对各适配器加载过程的错误进行排查。

Description

加载方法、装置、存储介质及电子设备
技术领域
本申请涉及计算机技术领域,具体涉及一种加载方法、装置、存储介质及电子设备。
背景技术
随着科学技术的发展,人们通过计算机等电子设备需要进行的业务也越来越多,计算机等电子设备对相关业务进行加载后,才能最终得到相关结果,因此关于业务的加载方法也称为本领域技术人员研究的重点之一。
在相关技术中,在万维网编程环境中可以针对业务编写不同的加载逻辑,而不同的加载逻辑可以嵌套在一起,导致对一个加载逻辑进行加载的过程中,其它嵌套的加载逻辑也会进行加载,因此这种加载方法存在代码复杂度高、加载错误难排查的技术问题。
发明内容
本申请实施例提供了一种加载方法、装置、存储介质及电子设备,可以解决相关技术中不同的加载逻辑可以嵌套在一起,导致加载方法存在代码复杂度高、加载错误难排查的技术问题。所述技术方案如下:
第一方面,本申请实施例提供了一种加载方法,包括:
接收针对目标业务的加载请求指令;
基于所述加载请求指令通过对外接口获取所述加载请求指令对应的目标适配器;其中,所述对外接口至少对应一个适配器;
控制所述目标适配器进行加载,得到对应的加载结果。
第二方面,本申请实施例提供了一种加载装置,所述装置包括:
接收模块,用于接收针对目标业务的加载请求指令;
获取模块,用于基于所述加载请求指令通过对外接口获取所述加载请求指令对应的目标适配器;其中,所述对外接口至少对应一个适配器;
加载模块,用于控制所述目标适配器进行加载,得到对应的加载结果。
第三方面,本申请实施例提供了一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。
第四方面,本申请实施例提供了一种电子设备,包括:存储器和处理器;其中,所述存储器存储有计算机程序,所述计算机程序适用于由所述处理器加载并执行上述的方法步骤。
本申请一些实施例提供的技术方案带来的有益效果至少包括:
上述加载方法、装置、存储介质及电子设备工作时,首先接收针对目标业务的加载请求指令;然后基于所述加载请求指令通过对外接口获取所述加载请求指令对应的目标适配器;其中,所述对外接口至少对应一个适配器;最后控制所述目标适配器进行加载,得到对应的加载结果。由于在本申请中可以预先定义各适配器对应同一个对外接口,因此在接收到加载请求指令之后,就可以直接通过对外接口获取加载请求指令对应的目标适配器,并控制目标适配器进行加载,目标适配器在加载过程中不会涉及其他适配器的加载过程,也即各适配器的加载过程是独立的,这大大减少了代码复杂度,也更加便于对各适配器加载过程的错误进行排查。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种加载系统的网络架构示意图;
图2是本申请实施例提供的一种加载方法的交互示意图;
图3是本申请实施例提供的一种用户加载交互示意图;
图4是本申请实施例提供的一种加载进度显示示意图;
图5是本申请实施例提供的一种加载方法的另一交互示意图;
图6是本申请实施例提供的一种加载装置的结构示意图;
图7是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例方式作进一步地详细描述。
下面的描述设计附图时,除非另有表示,不同附图中的相同数字表示相同的或相似的要素。以下示例性实施例中描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
下面结合具体的实施例对本申请进行详细说明。
图1示出了可以应用于本申请的加载方法的示例性系统架构100。
如图1所示,系统架构100至少可以包括用户101、处理器102和加载器103。其中,系统构架100可以应用于各种实际应用场景,例如,当系统构架100应用于线上直播时,用户101可以为在进行线上直播课程中的老师或者学生等参与人员。处理器102可以但不限于用于负责读取用户101触发的各种指令,对指令译码并执行指令,以及对信息处理、程序运行的最终执行。加载器103可以但不限于用于存储预先定义的,可以由处理器102进行调用的多个适配器。示例性的,在进行线上直播课程的过程中用户101(例如但不限于学生甲)为了与老师进行互动需要加载图片1,完成图片1上记载的习题。为了完成加载图片1的业务,用户101(例如但不限于学生甲)可以通过鼠标点击加载按钮,触发对获取图片1业务的加载,然后处理器102接收到关于加载图片1的加载请求指令,在加载器103中获取对应的目标适配执行加载图片1的业务,完成对图片1的加载,将图片1通过显示器屏幕展示给用户101(例如但不限于学生甲)。
处理器102可以是硬件,也可以是软件。当处理器102为硬件时,可以是电子设备中用于运算和控制核心的中央处理器(Central Processing Unit,CPU)、调制解调器(ModulatorDemodulator,MODEM)等核心配件。当处理器102为软件时,可以实现成多个软件或软件模块(例如:用来控制处理服务),也可以实现成单个软件或软件模块,在此不作具体限定。
加载器103可以是硬件,也可以是软件。当加载器103为硬件时,可以是电子设备中用于存储多个适配器的存储配件等。当处理器102加载器103为软件时,可以实现成多个软件或软件模块(例如:用来存储服务),也可以实现成单个软件或软件模块,在此不作具体限定。
处理器102和加载器103之间可以通过网络进行数据交互,该网络可以是有线网络,也可以是无线网络。有线网络可以包括光纤、双绞线或同轴电缆的,无线网络可以包括蓝牙通信链路、无线保真(Wireless-Fidelity,Wi-Fi)通信链路或微波通信链路等。
应理解,图1中的用户101、处理器102和加载器103的数目仅是示意性的。根据实现需要,可以是任意数量的用户101、处理器102和加载器103。
在下述方法实施例中,执行主体可以是电子设备也可以是处理器,为了便于说明,仅以各步骤的执行主体为处理器进行介绍说明。
下面将结合附图2至图3,对本申请实施例提供的加载方法进行详细介绍。
请参见图2,为本申请实施例提供了一种加载方法的交互示意图。所述方法可以包括以下步骤:
S201、接收针对目标业务的加载请求指令。
一般的,目标业务可以是指为了满足用户不同的需求目的,电子设备所需要执行完成的任务/操作/步骤等。这里的目标业务不一定是指某一个(或一类)具体业务,并没有做具体限定,而可以是指针对用户当前的操作确定的业务,为了与其它正在执行的业务作区别。目标业务可以包括:图片加载业务、音视频加载业务和文字加载业务等,例如:学生A在上网络直播课程的过程中,需要加载一段讲解音视频用于对知识点进行详细介绍,则对于电子设备而言可以将加载该音视频作为目标业务。
加载请求指令可以是用户为了触发对目标业务的加载,而通过操作电子设备中的键盘、鼠标或者屏幕等设备生成的指令,例如:在进行网络直播课程的过程中,为了完成加载该音视频的目标业务,学生A可以通过手指点击加载按钮,然后处理器检测到学生A的交互操作,进而获取对应目标业务的加载请求指令,基于该加载请求指令完成加载该音视频的目标业务。如图3所示,为用户进行加载交互示意图,用户可以通过手指触击电子设备显示屏上的“确定加载”按钮,生成加载请求指令,然后电子设备基于加载请求指令完成该音视频的目标业务的加载,在电子设备显示屏上的音视频播放区域播放教学讲解音视频。
可选地,加载请求指令还可以按照预设时间或者时间段产生,例如:在进行网络直播课程的过程中,当处理器检测到本节英语课已经进行了10分钟,处理器可以在预先定义的目标业务与时刻对应关系表中进行查询,确定此时需要完成的目标业务(例如但不限于加载课堂测试题1),然后基于该目标业务获取对应的加载请求指令。
可选地,加载请求指令还可以通过检测到预设触发条件后产生,例如:在进行网络直播课程的考试过程中,当处理器检测到学生A离开了电子设备的摄像头采集图像的范围,则需要加载“考试未完成,请考生不要离开”语音提示的目标任务,然后处理器基于该目标业务获取对应的加载请求指令。
S202、基于所述加载请求指令通过对外接口获取所述加载请求指令对应的目标适配器。
一般的,在接收到针对目标业务的加载请求指令之后,可以基于加载请求指令对目标业务进行加载,其中对目标业务进行加载的方式可以多样的,例如,可以是将目标业务对应的资源发送至服务器,以使得服务器基于目标业务对应的资源对目标业务进行加载;还可以是调用加载业务的适配器对目标业务进行加载。
在本申请实施例中,可以预先编写至少一个适配器,适配器可以认为是具有执行逻辑的代码,各适配器可以存储在预设存储位置中,以便于其他事件或者程序可以随时调用适配器对目标业务进行加载。具体的,还可以将各适配器存储在读写优先级高或者不易被擦除的存储位置中,可以使得调用适配器更加快速或者适配器的安全性更高。
可选地,还可以生成一个对外接口,对外接口可以认为是指对协定进行定义的引用类型,接口可以提高程序代码的复用率,增加程序的可维护性,可扩展性,将该对外接口与上述各适配器进行对应,以使得其他事件或者程序可以直接通过对外接口对各适配器中的任意一个适配器进行调用。
由于对外接口至少对应一个适配器,因此存在对外接口可能对应多个适配器的情况,那么在调用适配器进行加载时,需要选择加载请求指令对应的、合适的适配器以免加载失败。关于确定加载请求指令对应的适配器的方式可以有多种,例如,可以通过加载请求指令中携带的标识确定加载请求指令对应的适配器;还可以通过加载请求指令对应的网络环境类型确定加载请求指令对应的适配器;还可以通过加载请求指令对应的目标业务的业务资源确定加载请求指令对应的适配器,本申请对确定加载请求指令对应的适配器的方式可以不做限定。
S203、控制所述目标适配器进行加载,得到对应的加载结果。
一般的,在基于所述加载请求指令通过对外接口获取所述加载请求指令对应的目标适配器后,可以控制所述目标适配器对目标业务进行加载,处理器可以在加载过程中获取加载进度,并将该加载进度展示给用户,如图4所示,为加载进度示意图,进度显示形式多种多样,如可以在电子设备上的显示区域上显示实时加载进度。在一种可能的实施例中,处理器可以先检测需要对目标业务进行加载的数据量,在该数据量大于数据量阈值时,对该目标业务进行分段加载,可以提高加载效率。在一种可能的实施例中,处理器得到对应额加载结果后,可以将所述加载结果进行上报,若加载失败,可以用于分析记录加载失败原因,便于技术人员进行调整。
由上述内容可知,首先接收针对目标业务的加载请求指令;然后基于所述加载请求指令通过对外接口获取所述加载请求指令对应的目标适配器;其中,所述对外接口至少对应一个适配器;最后控制所述目标适配器进行加载,得到对应的加载结果。由于在本申请中可以预先定义各适配器对应同一个对外接口,因此在接收到加载请求指令之后,就可以直接通过对外接口获取加载请求指令对应的目标适配器,并控制目标适配器进行加载,目标适配器在加载过程中不会涉及其他适配器的加载过程,也即各适配器的加载过程是独立的,这大大减少了代码复杂度,也更加便于对各适配器加载过程的错误进行排查。
请参见图5,为本申请实施例提供了一种加载方法的另一交互示意图。该加载方法可以包括以下步骤:
S501、定义至少一个适配器,以及将所述至少一个适配器与对外接口建立对应关系。
一般的,适配器可以认为是具有执行逻辑的代码,各适配器可以存储在预设存储位置中,以便于其他事件或者程序可以随时调用适配器对目标业务进行加载。处理器首先可以生成一个对外接口,对外接口可以认为是指对协定进行定义的引用类型,接口可以提高程序代码的复用率,增加程序的可维护性,可扩展性,将该对外接口与各适配器建立对应关系,以使得其他事件或者程序可以直接通过对外接口对各适配器中的任一一个适配器进行调用。适配器可以为脚本适配器、网络请求适配器以及应用程序适配器等,例如:若用户需要使用应用程序(例如但不限于网课直播应用程序),处理器通过定义应用程序适配器,可以满足用户在使用网课直播应用程序时的加载图片、文字等业务进行加载。
S502、接收针对目标业务的加载请求指令。
其中,对于S502方法步骤中未披露的细节,请参照上述S201方法步骤中的具体描述。
在本申请实施例中,基于所述加载请求指令通过对外接口获取所述加载请求指令对应的目标适配器的方法可以不做限定,下面以两种方法进行解释说明,一种方法为:
S503、解析所述加载请求指令获取所述加载标识。
一般的,加载标识是用来指示电子设备确定目标适配器的标识,不同加载标识对应不同的适配器。处理器接收针对目标业务的加载请求指令,对加载请求指令进行解析处理,若加载请求指令中携带有加载标识,则处理器确定所述加载标识,例如:处理器确定所述加载标识为b。所述加载标识可以是自定义的标识,也可以是根据目标业务信息生成的标识。
S504、基于所述加载标识在预设的标识与适配器映射数据库中查询对应的适配器编号,根据所述适配器编号确定对应的目标适配器。
一般的,处理器解析所述加载请求指令获取所述加载标识后,可以基于所述加载标识在预设的标识与适配器映射数据库中查询对应的适配器编号,再根据所述适配器编号确定对应的目标适配器。例如:如表1所示,为处理器预设的加载标识与适配器映射数据库,处理器确定加载标识为b,则确定适配器编号为2,则目标适配器为网络请求适配器,用于处理器进行网络请求时的图片、文字等业务进行加载。所述映射数据库可以存储在本地存储空间中,若所述映射数据库的数据量大于数据量阈值时,也可以将所述映射数据库存储在云端,用于减少该本地存储空间的存储量,有助于提高业务加载效率。
表1加载标识与适配器类型关系表
加载标识 适配器编号 适配器类型
a 1 脚本适配器
b 2 网络请求适配器
c 3 普通应用程序适配器
可选地,基于所述加载请求指令通过对外接口获取所述加载请求指令对应的目标适配器的另一种方法为:
S505、解析所述加载请求指令确定网络环境类型。
一般的,网络环境可以是指处理器进行业务处理的工作环境,网络环境类型包括脚本环境类型、网络请求环境类型和应用程序环境类型中的至少一种,例如:用户在使用网课直播应用程序时,需要执行图片加载,则处理器确定该图片加载业务的环境类型为应用程序环境。处理器可以在接收针对目标业务的加载请求指令后,解析所述加载请求指令确定网络环境类型,不同的网络环境类型对应不同的适配器,处理器可以通过确定网络环境类型来确定目标适配器。
S506、基于所述网络环境类型在预设的适配器列表中查询对应的适配器,将所述对应的适配器作为目标适配器。
一般的,终端设备解析所述加载请求指令确定网络环境类型后,基于所述网络环境类型在预设的适配器列表中查询对应的适配器,将所述对应的适配器作为目标适配器。例如:如表2所示,为预设的适配器列表,终端设备确定网络环境类型为网络请求环境类型,则在适配器列表中查询确定目标适配器为网络请求适配器。
表2网络环境类型与适配器关系表
网络环境类型 适配器类型
脚本环境类型 脚本适配器
网络请求环境类型 网络请求适配器
应用程序环境类型 应用程序适配器
在本申请实施例中,由于目标适配器可以为脚本适配器、网络请求适配器以及应用程序适配器中的至少一种,因此可以根据目标适配器的具体类型控制所述目标适配器进行加载。当所述目标适配器为所述脚本适配器时,控制所述目标适配器进行加载包括:
S507、创建超文本标记语言标签,基于所述超文本标记语言标签获取对应的脚本文件,对所述脚本文件进行加载。
一般的,超文本标签是超文本语言中最基本的单位,超文本标签是超文本(标准通用标记语言下的一个应用)最重要的组成部分,用来编辑超文本语言。超文本标签的大小写无关的,例如“主体”<body>跟<BODY>表示的意思是一样的,一般推荐使用小写。当电子设备确定所述目标适配器为所述脚本适配器时,电子设备首先可以创建超文本标记语言标签(例如但不限于HTML Script标签),然后基于所述超文本标记语言标签获取对应的脚本(例如但不限于JavaScript文件)文件,最后对所述脚本文件进行加载。
当所述目标适配器为所述网络请求适配器时,所述控制所述目标适配器进行加载,包括:
S508、创建所述加载请求指令对应的浏览器对象,基于所述对应的浏览器对象对文件数据进行加载。
一般的,当电子设备确定目标适配器为所述网络请求适配器时,处理器首先可以创建浏览器对象(例如但不限于Firefox浏览器对象,driver=webdriver.Firefox())、浏览器尺寸(例如但不限于全屏大小)和位置的获取与设置等信息。然后电子设备基于所述对应的浏览器对象对文件数据(包括但不限于协议文件、域名信息文件等)进行加载。
当所述目标适配器为所述普通应用程序适配器时,所述控制所述目标适配器进行加载,包括:
S509、对网页视图进行环境配置,基于配置后的网页视图环境通过程序对象方式进行桥接处理,根据桥接后的公共接口函数进行通信。
一般的,网页视图(WebView)是在浏览器内核基础上进行封装后的一个控件,WebView直译为网页视图,可以简单的看作一个可以嵌套到界面上的一个浏览器控件。桥接是指是依据开放式系统互联通信参考模型(Open System Interconnection ReferenceModel,OSI)网络模型的链路层的地址,对网络数据包进行转发的过程,工作在OSI的第二层,一般的交换机、网桥就有桥接作用。程序语言中函数可以分为公共函数、私有函数和保护函数。当电子设备确定目标适配器为所述普通应用程序适配器时,用户可以通过点击网页视图WebView运行用户请求并基于程序对象JavascriptBridge方式与普通应用程序服务器进行桥接,然后通过定义公共接口函数进行双方通信,当通信完成后,通过执行预设成功函数、失败函数或返回函数等来确认最终结果。在一个可能的实施例中,当电子设备确定目标适配器为轻应用程序适配器时,例如:处理器可以通过调用微博小程序提供的加载接口(例如但不限于添加接口、显示接口等)进行加载文字、图片等业务。
在本申请实施例中,处理器调用目标适配器进行加载可能出现多种结果,当所述目标适配器加载成功时,得到对应的加载结果包括:
S510、若所述目标适配器加载成功,则输出第一加载成功结果。
一般的,电子设备调用目标适配器进行加载后,若所述目标适配器加载文件成功,则可以输出第一加载成功结果,例如:电子设备成功加载脚本文件,将所述脚本文件作为第一加载成功结果。
当所述目标适配器加载失败时,得到对应的加载结果包括:
S511、若所述目标适配器加载失败,则控制所述目标适配器进行异常加载,所述目标适配器加载成功,则输出第二加载成功结果。若所述目标适配器加载失败,则控制所述目标适配器进行异常加载。
一般的,所述异常记载包括重复进行至少一次加载,有助于确保处理器稳定准确地进行加载。当电子设备第一次没有加载成功,则控制所述目标适配器进行异常加载。异常加载方式可以为加载触发其它形式(例如但不限于调用备选方式进行加载),也可以为重复加载预设次数,例如:电子设备第一次没有加载成功,设置预设次数为5次,则处理器至少需要进行5次的重复加载,确定异常加载结果。
在本申请实施例中,当处理器进行异常加载后,可能得到多种异常加载结果,在异常加载成功时,包括:
S512、若在所述目标适配器进行所述异常加载的过程中,所述目标适配器加载成功,则输出第二加载成功结果。
一般的,处理器进行异常加载时可能会得到成功加载结果。例如,处理器在5次内重复加载,若第4次加载成功,则将所述脚本文件作为第二加载成功结果。若第5次也没有加载成功,则确定加载失败。
在异常加载失败时,包括:
S513、若在所述目标适配器所述异常加载的过程之后,所述目标适配器加载失败,获取失败数据信息。
一般的,所述失败数据信息可以包括错误编码、异常消息信息、错误触发的原目标和错误的等级段中的一种或多种。在电子设备确定目标适配器加载失败后,电子设备获取失败数据信息,例如:错误编码为123,异常消息信息为网络连接失败代号为456,错误触发的原目标代号为789,错误的等级段为6,设置为统一数据格式{123,456,789,6}等形式。
S514、调用异常函数将所述失败数据信息进行上报处理。
一般的,电子设备获取失败数据信息后,触发异常函数catch并返回统一数据格式{123,456,789,6},上报给监控服务器进行处理,便于计算分析失败原因等。
本申请实施例的方案在执行时,首先接收针对目标业务的加载请求指令;然后基于所述加载请求指令通过对外接口获取所述加载请求指令对应的目标适配器;其中,所述对外接口至少对应一个适配器;最后控制所述目标适配器进行加载,得到对应的加载结果。由于在本申请中可以预先定义各适配器对应同一个对外接口,因此在接收到加载请求指令之后,就可以直接通过对外接口获取加载请求指令对应的目标适配器,并控制目标适配器进行加载,目标适配器在加载过程中不会涉及其他适配器的加载过程,也即各适配器的加载过程是独立的,这大大减少了代码复杂度,也更加便于对各适配器加载过程的错误进行排查。
可选地,在本申请实施例中,为了保证上述实施例中的各步骤可以顺序执行,而不需要区分使用环境、不需要回调的方式完成文件的加载与下载,可以根据实际中编写程序或者指令时所使用的语言,调用相关函数以保证各步骤可以顺序执行。
例如,当编写程序或者指令时所使用的语言为TypeScript编程语言时,可以在接收针对目标业务的加载请求指令之后,还可以通过调用TypeScript编程语言中的await函数,加载不同适配器,由于await函数必须在等待Promise函数处理加载结果之后,才会执行await函数后续的步骤,因此可以将目标适配器进行加载得到对应的加载结果看作Promise函数处理加载结果,那么通过await函数配合Promise函数处理加载结果,可以保证await函数等待Promise函数处理加载结果之间的步骤都可以顺序加载,确保了各适配器的加载过程是独立的,也即可以不需要区分使用环境、不需要回调的方式完成文件的加载与下载。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参见图6,其示出了本申请一个示例性实施例提供的加载装置的结构示意图,以下简称加载装置6。加载装置6可以通过软件、硬件或者两者的结合实现成为终端的全部或一部分。包括:
接收模块601,用于接收针对目标业务的加载请求指令;
获取模块602,用于基于所述加载请求指令通过对外接口获取所述加载请求指令对应的目标适配器;其中,所述对外接口至少对应一个适配器;
加载模块603,用于控制所述目标适配器进行加载,得到对应的加载结果。
在一种可能的实施例中,所述加载装置6还包括:
定义模块,用于定义至少一个适配器,以及将所述至少一个适配器与对外接口建立对应关系;其中,所述适配器为脚本适配器、网络请求适配器以及应用程序适配器中的至少一种。
在一种可能的实施例中,所述加载请求指令中携带有加载标识,所述获取模块602包括:
第一解析单元,用于解析所述加载请求指令获取所述加载标识;
第一查询单元,用于基于所述加载标识在预设的标识与适配器映射数据库中查询对应的适配器编号;
确定单元,用于根据所述适配器编号确定对应的目标适配器。
在一种可能的实施例中,所述获取模块602包括:
第二解析单元,用于解析所述加载请求指令确定网络环境类型;其中,所述网络环境类型包括脚本环境类型、网络请求环境类型和应用程序环境类型中的至少一种;
第二查询单元,用于基于所述网络环境类型在预设的适配器列表中查询对应的适配器;
处理单元,用于将所述对应的适配器作为目标适配器。
在一种可能的实施例中,当所述目标适配器为所述脚本适配器时,所述加载模块603包括:
第一创建单元,用于创建超文本标记语言标签;
获取单元,用于基于所述超文本标记语言标签获取对应的脚本文件;
第一加载单元,用于对所述脚本文件进行加载。
在一种可能的实施例中,当所述目标适配器为所述网络请求适配器时,所述加载模块603包括:
第二创建单元,用于创建所述加载请求指令对应的浏览器对象;
第二加载单元,用于基于所述对应的浏览器对象对文件数据进行加载。
在一种可能的实施例中,当所述目标适配器为所述普通应用程序适配器时,所述加载模块603包括:
配置单元,用于对网页视图进行环境配置;
桥接单元,用于基于配置后的网页视图环境通过程序对象方式进行桥接处理;
通信单元,用于根据桥接后的公共接口函数进行通信。
在一种可能的实施例中,所述加载模块603包括:
第一输出单元,用于若所述目标适配器加载成功,则输出加载成功结果;
控制单元,用于若所述目标适配器加载失败,则控制所述目标适配器进行异常加载;其中,所述异常记载包括重复进行至少一次加载;
第二输出单元,用于若在所述目标适配器进行所述异常加载的过程中,所述目标适配器加载成功,则输出第二加载成功结果;
第三输出单元,用于若在所述目标适配器所述异常加载的过程之后,所述目标适配器加载失败,则输出加载失败结果。
在一种可能的实施例中,所述第三输出单元包括:
获取子单元,用于获取失败数据信息;其中,所述失败数据信息包括错误编码、异常消息信息、错误触发的原目标和错误的等级段中的一种或多种;
调用子单元,用于调用异常函数将所述失败数据信息进行上报处理。
本申请实施例和图2或图5的方法实施例基于同一构思,其带来的技术效果也相同,具体过程可参照图2或图5的方法实施例的描述,此处不再赘述。
所述装置6可以为实现相关功能的现场可编程门阵列(field-programmable gatearray,FPGA),专用集成芯片,系统芯片(system on chip,SoC),中央处理器(centralprocessor unit,CPU),网络处理器(network processor,NP),数字信号处理电路,微控制器(micro controller unit,MCU),还可以采用可编程控制器(programmable logicdevice,PLD)或其他集成芯片。
本申请实施例的方案在执行时,首先接收针对目标业务的加载请求指令;然后基于所述加载请求指令通过对外接口获取所述加载请求指令对应的目标适配器;其中,所述对外接口至少对应一个适配器;最后控制所述目标适配器进行加载,得到对应的加载结果。由于在本申请中可以预先定义各适配器对应同一个对外接口,因此在接收到加载请求指令之后,就可以直接通过对外接口获取加载请求指令对应的目标适配器,并控制目标适配器进行加载,目标适配器在加载过程中不会涉及其他适配器的加载过程,也即各适配器的加载过程是独立的,这大大减少了代码复杂度,也更加便于对各适配器加载过程的错误进行排查。
本申请实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述的方法步骤,具体执行过程可以参见图2或图5所示实施例的具体说明,在此不进行赘述。
本申请还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上各个实施例所述的模板的控制方法。
请参见图7,为本申请实施例提供了一种电子设备的结构示意图。如图7所示,所述电子设备7可以包括:至少一个处理器701,至少一个网络接口704,用户接口703,存储器705,至少一个通信总线702。
其中,通信总线702用于实现这些组件之间的连接通信。
其中,用户接口703可以包括显示屏(Display)、摄像头(Camera),可选用户接口703还可以包括标准的有线接口、无线接口。
其中,网络接口704可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
其中,处理器701可以包括一个或者多个处理核心。处理器701利用各种借口和线路连接整个终端700内的各个部分,通过运行或执行存储在存储器705内的指令、程序、代码集或指令集,以及调用存储在存储器705内的数据,执行终端700的各种功能和处理数据。可选的,处理器701可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器701可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器501中,单独通过一块芯片进行实现。
其中,存储器705可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选的,该存储器705包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器705可用于存储指令、程序、代码、代码集或指令集。存储器705可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器705可选的还可以是至少一个位于远离前述处理器701的存储装置。如图7所示,作为一种计算机存储介质的存储器705中可以包括操作系统、网络通信模块、用户接口模块以及加载应用程序。
在图7所示的电子设备700中,用户接口703主要用于为用户提供输入的接口,获取用户输入的数据;而处理器701可以用于调用存储器705中存储的加载应用程序,并具体执行以下操作:
接收针对目标业务的加载请求指令;
基于所述加载请求指令通过对外接口获取所述加载请求指令对应的目标适配器;其中,所述对外接口至少对应一个适配器;
控制所述目标适配器进行加载,得到对应的加载结果。
在一个实施例中,处理器701执行所述接收针对目标业务的加载请求指令之前,还用于执行:
定义至少一个适配器,以及将所述至少一个适配器与对外接口建立对应关系;
其中,所述适配器为脚本适配器、网络请求适配器以及应用程序适配器中的至少一种。
在一个实施例中,处理器701执行所述加载请求指令中携带有加载标识,所述基于所述加载请求指令通过对外接口获取所述加载请求指令对应的目标适配器时,具体执行:
解析所述加载请求指令获取所述加载标识;
基于所述加载标识在预设的标识与适配器映射数据库中查询对应的适配器编号;
根据所述适配器编号确定对应的目标适配器。
在一个实施例中,处理器701执行所述基于所述加载请求指令通过对外接口获取所述加载请求指令对应的目标适配器时,具体执行:
解析所述加载请求指令确定网络环境类型;其中,所述网络环境类型包括脚本环境类型、网络请求环境类型和应用程序环境类型中的至少一种;
基于所述网络环境类型在预设的适配器列表中查询对应的适配器;
将所述对应的适配器作为目标适配器。
在一个实施例中,处理器701执行当所述目标适配器为所述脚本适配器时,所述控制所述目标适配器进行加载时,具体执行:
创建超文本标记语言标签;
基于所述超文本标记语言标签获取对应的脚本文件;
对所述脚本文件进行加载。
在一个实施例中,处理器701执行当所述目标适配器为所述网络请求适配器时,所述控制所述目标适配器进行加载时,具体执行:
创建所述加载请求指令对应的浏览器对象;
基于所述对应的浏览器对象对文件数据进行加载。
在一个实施例中,处理器701执行当所述目标适配器为所述普通应用程序适配器时,所述控制所述目标适配器进行加载时,具体执行:
对网页视图进行环境配置;
基于配置后的网页视图环境通过程序对象方式进行桥接处理;
根据桥接后的公共接口函数进行通信。
在一个实施例中,处理器701执行所述得到对应的加载结果时,具体执行:
若所述目标适配器加载成功,则输出加载成功结果;
若所述目标适配器加载失败,则控制所述目标适配器进行异常加载;其中,所述异常记载包括重复进行至少一次加载;
若在所述目标适配器进行所述异常加载的过程中,所述目标适配器加载成功,则输出第二加载成功结果;
若在所述目标适配器所述异常加载的过程之后,所述目标适配器加载失败,则输出加载失败结果。
在一个实施例中,处理器701执行所述输出加载失败结果时,具体执行:
获取失败数据信息;其中,所述失败数据信息包括错误编码、异常消息信息、错误触发的原目标和错误的等级段中的一种或多种;
调用异常函数将所述失败数据信息进行上报处理。
本申请实施例的技术构思和图2或图5的技术构思相同,具体过程可参照图2或图5的方法实施例,此处不再赘述。
在本申请实施例中,首先接收针对目标业务的加载请求指令;然后基于所述加载请求指令通过对外接口获取所述加载请求指令对应的目标适配器;其中,所述对外接口至少对应一个适配器;最后控制所述目标适配器进行加载,得到对应的加载结果。由于在本申请中可以预先定义各适配器对应同一个对外接口,因此在接收到加载请求指令之后,就可以直接通过对外接口获取加载请求指令对应的目标适配器,并控制目标适配器进行加载,目标适配器在加载过程中不会涉及其他适配器的加载过程,也即各适配器的加载过程是独立的,这大大减少了代码复杂度,也更加便于对各适配器加载过程的错误进行排查。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (12)

1.一种加载方法,其特征在于,所述方法包括:
接收针对目标业务的加载请求指令;
基于所述加载请求指令通过对外接口获取所述加载请求指令对应的目标适配器;其中,所述对外接口至少对应一个适配器;
控制所述目标适配器进行加载,得到对应的加载结果。
2.根据权利要求1所述方法,其特征在于,所述接收针对目标业务的加载请求指令之前,还包括:
定义至少一个适配器,以及将所述至少一个适配器与对外接口建立对应关系;
其中,所述适配器为脚本适配器、网络请求适配器以及应用程序适配器中的至少一种。
3.根据权利要求1所述方法,其特征在于,所述加载请求指令中携带有加载标识,所述基于所述加载请求指令通过对外接口获取所述加载请求指令对应的目标适配器,包括:
解析所述加载请求指令获取所述加载标识;
基于所述加载标识在预设的标识与适配器映射数据库中查询对应的适配器编号;
根据所述适配器编号确定对应的目标适配器。
4.根据权利要求1所述方法,其特征在于,所述基于所述加载请求指令通过对外接口获取所述加载请求指令对应的目标适配器,包括:
解析所述加载请求指令确定网络环境类型;其中,所述网络环境类型包括脚本环境类型、网络请求环境类型和应用程序环境类型中的至少一种;
基于所述网络环境类型在预设的适配器列表中查询对应的适配器;
将所述对应的适配器作为目标适配器。
5.根据权利要求2所述方法,当所述目标适配器为所述脚本适配器时,所述控制所述目标适配器进行加载,包括:
创建超文本标记语言标签;
基于所述超文本标记语言标签获取对应的脚本文件;
对所述脚本文件进行加载。
6.根据权利要求2所述方法,当所述目标适配器为所述网络请求适配器时,所述控制所述目标适配器进行加载,包括:
创建所述加载请求指令对应的浏览器对象;
基于所述对应的浏览器对象对文件数据进行加载。
7.根据权利要求2所述方法,当所述目标适配器为所述普通应用程序适配器时,所述控制所述目标适配器进行加载,包括:
对网页视图进行环境配置;
基于配置后的网页视图环境通过程序对象方式进行桥接处理;
根据桥接后的公共接口函数进行通信。
8.根据权利要求5至7中任一项权利要求,其特征在于,所述得到对应的加载结果,包括:
若所述目标适配器加载成功,则输出第一加载成功结果;
若所述目标适配器加载失败,则控制所述目标适配器进行异常加载;其中,所述异常记载包括重复进行至少一次加载;
若在所述目标适配器进行所述异常加载的过程中,所述目标适配器加载成功,则输出第二加载成功结果;
若在所述目标适配器所述异常加载的过程之后,所述目标适配器加载失败,则输出加载失败结果。
9.根据权利要求8所述方法,其特征在于,所述输出加载失败结果,包括:
获取失败数据信息;其中,所述失败数据信息包括错误编码、异常消息信息、错误触发的原目标和错误的等级段中的一种或多种;
调用异常函数将所述失败数据信息进行上报处理。
10.一种同步加载装置,其特征在于,包括:
接收模块,用于接收针对目标业务的加载请求指令;
获取模块,用于基于所述加载请求指令通过对外接口获取所述加载请求指令对应的目标适配器;其中,所述对外接口至少对应一个适配器;
加载模块,用于控制所述目标适配器进行加载,得到对应的加载结果。
11.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1~9任意一项的方法步骤。
12.一种电子设备,其特征在于,包括:存储器和处理器;其中,所述存储器存储有计算机程序,所述计算机程序适用于由所述处理器加载并执行如权利要求1~9任意一项的方法步骤。
CN202110257208.1A 2021-03-09 2021-03-09 加载方法、装置、存储介质及电子设备 Pending CN112988267A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110257208.1A CN112988267A (zh) 2021-03-09 2021-03-09 加载方法、装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110257208.1A CN112988267A (zh) 2021-03-09 2021-03-09 加载方法、装置、存储介质及电子设备

Publications (1)

Publication Number Publication Date
CN112988267A true CN112988267A (zh) 2021-06-18

Family

ID=76334687

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110257208.1A Pending CN112988267A (zh) 2021-03-09 2021-03-09 加载方法、装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN112988267A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114661374A (zh) * 2022-03-16 2022-06-24 无线生活(杭州)信息科技有限公司 加载typescript配置文件的方法及装置
CN114915666A (zh) * 2022-05-13 2022-08-16 北京有竹居网络技术有限公司 接口适配方法、设备、存储介质及程序产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040003099A1 (en) * 2002-06-28 2004-01-01 Microsoft Corporation Bi-directional affinity within a load-balancing multi-node network interface
CN110851756A (zh) * 2019-10-12 2020-02-28 平安普惠企业管理有限公司 页面加载方法、装置、计算机可读存储介质及终端设备
CN111782304A (zh) * 2020-07-21 2020-10-16 平安国际智慧城市科技股份有限公司 分页加载数据逻辑控制方法、装置、计算机设备及介质
CN112035270A (zh) * 2019-06-03 2020-12-04 北京京东尚科信息技术有限公司 接口适配方法、系统、装置、计算机可读介质及电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040003099A1 (en) * 2002-06-28 2004-01-01 Microsoft Corporation Bi-directional affinity within a load-balancing multi-node network interface
CN112035270A (zh) * 2019-06-03 2020-12-04 北京京东尚科信息技术有限公司 接口适配方法、系统、装置、计算机可读介质及电子设备
CN110851756A (zh) * 2019-10-12 2020-02-28 平安普惠企业管理有限公司 页面加载方法、装置、计算机可读存储介质及终端设备
CN111782304A (zh) * 2020-07-21 2020-10-16 平安国际智慧城市科技股份有限公司 分页加载数据逻辑控制方法、装置、计算机设备及介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114661374A (zh) * 2022-03-16 2022-06-24 无线生活(杭州)信息科技有限公司 加载typescript配置文件的方法及装置
CN114915666A (zh) * 2022-05-13 2022-08-16 北京有竹居网络技术有限公司 接口适配方法、设备、存储介质及程序产品

Similar Documents

Publication Publication Date Title
CN110198247B (zh) 接口测试方法及系统
US20220293089A1 (en) Voice dialogue processing method and apparatus
CN112187585B (zh) 网络协议测试方法及装置
WO2020233369A1 (zh) 基于模拟端口改进软件集成系统的方法及相关设备
WO2020143159A1 (zh) 一种用户界面的处理方法和装置
CN111831542B (zh) Api应用调测方法及装置、存储介质
CN112988267A (zh) 加载方法、装置、存储介质及电子设备
CN114003451B (zh) 一种接口测试方法、装置、系统及介质
CN112015654A (zh) 用于测试的方法和装置
CN112988599A (zh) 一种页面调试方法、装置、电子设备和存储介质
CN108038241A (zh) 集成web可视化工作流方法、装置、可读存储介质及系统
CN112346947A (zh) 性能检测方法、装置、电子设备和计算机可读介质
CN109976725B (zh) 一种基于轻量级流程引擎的流程程序开发方法及装置
CN111767229A (zh) 性能测试方法、装置和设备
CN116360735A (zh) 一种表单生成方法、装置、设备和介质
CN112988588B (zh) 客户端软件调试方法、装置、存储介质及电子设备
CN110765610B (zh) Pdm集成方法、装置、计算机设备及存储介质
CN113672225B (zh) 用户界面的处理方法、装置、设备及存储介质
CN112667795B (zh) 对话树构建方法和装置、对话树运行方法、装置以及系统
CN114968741A (zh) 一种基于场景平台化的性能测试方法、系统、设备和介质
CN114745313A (zh) 终端远程测试方法、装置、电子设备和可读介质
CN114327416A (zh) 应用于开发分支的接口同步方法、装置及电子设备
CN109782925B (zh) 一种处理方法、装置及电子设备
CN113117340A (zh) 游戏运行方法、装置、存储介质及电子设备
CN114691486A (zh) 程序调试方法、装置及计算机设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination