对异步调用转同步调用的方法、设备、设备及存储介质的制作技术

合集下载

云存储技术中的数据同步与异步方式(八)

云存储技术中的数据同步与异步方式(八)

云存储技术中的数据同步与异步方式随着互联网的发展,云存储技术已经成为了企业和个人日常工作中不可或缺的一部分。

云存储技术的出现大大方便了用户的数据存储和管理,同时也提高了数据的安全性和可靠性。

在云存储技术中,数据同步和异步方式是两种常见的数据传输方式,它们各有优劣,适用于不同的场景。

数据同步是指在两个或多个地点之间保持数据一致的过程。

在云存储中,数据同步可以确保用户在多个设备之间对数据的修改和更新能够及时同步,保持数据的一致性。

这对于需要多设备共享数据的用户来说是非常重要的。

数据同步方式可以分为实时同步和定时同步两种方式。

实时同步是指数据在发生改变时立即同步到其他设备,确保多设备间的数据始终保持一致。

例如,在使用云存储的过程中,用户在电脑上编辑了一个文档,这个编辑操作会立即同步到用户的手机和平板上,从而保持数据的一致性。

实时同步能够确保数据的及时性和准确性,但也会增加网络带宽的消耗和系统的负担。

定时同步是指在设定的时间段内进行数据同步,例如每天晚上8点进行一次数据同步。

这种方式可以减少网络带宽的压力,同时也可以避免实时同步可能带来的性能损耗。

然而,定时同步的缺点是数据同步的时间可能会滞后,导致数据不够及时。

相对于数据同步,数据异步是另一种常见的数据传输方式。

数据异步是指数据在发生改变后并不立即进行同步,而是在稍后的时间进行同步。

在云存储中,数据异步常用于大规模数据迁移、备份和恢复等场景。

数据异步的优势在于它可以减少数据传输时的网络压力和系统负担,从而提高整个系统的性能和稳定性。

在大规模数据迁移的场景中,如果采用同步方式进行数据传输,可能会对网络造成较大的压力,甚至导致系统崩溃。

而采用异步方式,可以根据系统的负载情况和网络带宽进行数据传输,从而更加灵活和高效。

然而,数据异步也存在一些缺点。

由于数据在发生改变后并不立即同步,可能会导致数据的滞后和不一致。

在某些场景下,如金融交易和实时监控等领域,数据的准确性和及时性是非常重要的,因此数据异步可能并不适用。

使用异步方式调用同步方法

使用异步方式调用同步方法

使用异步方式调用同步方法在软件开发中,异步编程是一种常见的编程模型。

通过异步编程,我们可以在调用耗时的操作时,不阻塞主线程,同时能够让程序保持响应性。

然而,并不是所有的操作都是异步的,有些操作还是以同步方式提供的。

在这种情况下,我们可以使用异步方式调用同步方法,以达到异步编程的效果。

首先,让我们简单回顾一下同步和异步的概念。

同步操作是指当一个操作开始后,必须等待它完成才能继续下一个操作。

异步操作则是指一个操作开始后,不会等待它完成就可以继续下一个操作。

在异步编程中,我们希望将耗时的操作放在后台线程中进行,以保持程序的响应性。

当我们遇到一个同步方法,而我们希望以异步方式进行调用时,可以通过以下几种方式来实现:1. 使用Task.Run方法```public async Task MyMethodAsyncawait Task.Run(( => MySyncMethod();```在上面的例子中,MySyncMethod是一个同步方法,通过Task.Run将其包装在一个异步任务中进行调用。

由于Task.Run是一个异步方法,在调用`await Task.Run(( => MySyncMethod()`时,主线程可以继续执行其他任务,而不会阻塞。

```public Task<T> MyMethodAsync<T>Task.Run(( =>tryvar result = MySyncMethod(;tcs.SetResult(result);}catch (Exception ex)tcs.SetException(ex);}});return tcs.Task;```在使用异步方式调用同步方法时,还有一些需要考虑的问题:1.异常处理2.耗时操作同步方法可能是一个耗时的操作,如果在主线程中进行调用,会阻塞主线程导致程序失去响应性。

因此,在使用异步方式调用同步方法时,需要确保调用这些方法的线程不是主线程,以避免阻塞主线程。

同步调用 异步调用

同步调用 异步调用

同步调用异步调用同步调用和异步调用是在软件开发中经常使用的两种调用方式。

可以说,这两种调用方式涉及到了很多软件系统的核心部分,比如多线程、网络通信等。

下面我们来详细了解一下同步调用和异步调用的概念、特点以及应用场景等相关内容。

一、同步调用同步调用指的是在进行函数调用时,先进行函数调用,等待函数返回结果之后,才继续执行下一步操作的方式。

也就是说,程序将会阻塞当前线程,直到函数返回结果后,再继续往下执行。

同步调用的特点如下:1. 简单直接:同步调用是最简单的调用方式,也是最直接的方式。

程序会等待函数返回结果,这样可以保证程序的正确运行。

2. 阻塞线程:由于同步调用需要等待结果返回,所以调用者线程会被阻塞,不能进行其他操作。

如果函数执行的时间比较长,就会影响程序的响应速度。

3. IPC模型不同:如果是不同的进程之间进行同步调用,需要使用IPC机制进行通信。

此时,进程之间的通信效率会影响整个系统的性能。

同步调用的应用场景:1. 优先保证正确性:对于那些需要保证正确性的任务,比如银行交易,同步调用是非常适合的方式。

因为同步调用可以保证程序的正确运行,可能会使代码更加简单清晰,更易于维护和调试。

2. 程序内部调用:同步调用适用于程序内部的函数调用,因为在程序内部调用函数时,时间通常不会太长,不会对程序的响应速度造成太大的影响。

3. 数据库操作:同步方式的数据库操作经常被使用,因为它可以保证在操作执行后返回正确的结果。

这样可以方便地进行后续处理,比如事务管理等。

二、异步调用异步调用是指在进行函数调用时,调用者在调用函数后会立即返回,不会等待函数返回结果。

当函数执行完成后,会通过回调或者其他方式通知调用者,返回结果。

异步调用的特点如下:1. 不阻塞线程:由于异步调用不会等待结果返回,所以不会阻塞调用者线程,可以进行其他操作,如响应用户操作等。

2. 回调机制:异步调用通过回调机制通知调用者结果,这种方式可以在执行结果返回后进行其他操作。

异步调用机制及实现方法

异步调用机制及实现方法

异步调用机制及实现方法异步调用机制是一种程序设计方法,用于实现非阻塞式的函数调用和任务执行。

在传统的同步调用机制中,当调用一些函数时,程序会等待该函数执行完毕后才能继续执行下一步操作。

而在异步调用机制中,调用函数后,程序可以立即执行下一步操作,而不必等待函数执行完毕。

实现异步调用机制的方法有多种,下面介绍几种常用的方法:1. 回调函数(Callback):回调函数是一种基本的实现异步调用的方法。

在调用一些函数时,将一个回调函数作为参数传递给该函数。

当函数执行完毕后,会调用回调函数来处理结果。

通过回调函数,可以实现非阻塞的函数调用和任务执行。

但是,回调函数容易导致回调地狱(callback hell)的问题,代码可读性较差。

2. Promise:Promise是一种解决回调地狱问题的方法。

它是异步编程的一种模式,用于优化异步调用的代码结构。

使用Promise,可以将异步操作封装成一个Promise对象,并通过链式调用的方式处理结果。

Promise对象可以在异步操作执行完毕后,通过调用resolve(或reject(来触发后续操作。

Promise提供了then(和catch(方法,用于处理操作结果和错误信息。

3. async/await:async/await是ES7引入的一种用于简化异步编程的语法。

它基于Promise,并使用async函数和await表达式来实现。

使用async/await,可以在函数前面添加async关键字,将该函数声明为异步函数。

在异步函数内部,可以使用await关键字来等待一个异步操作完成,然后使用返回值进行后续处理。

async/await使得异步代码的编写更加清晰和简洁,避免了回调地狱的问题。

4. 异步生成器(Async Generator):异步生成器是通过关键字async和yield*来实现的。

异步生成器用于生成一个异步序列,将生成器函数和异步函数结合起来使用。

异步生成器可以通过yield*来暂停生成器的执行,等待一个异步操作完成后再继续执行。

使用异步方式调用同步方法(实例详解)

使用异步方式调用同步方法(实例详解)

使用异步方式调用同步方法(实例详解)在编程中,同步方法是一种按照顺序执行的方法,当调用一个同步方法时,程序会一直等待该方法的执行完成,然后才能继续执行下面的代码。

而异步方法是一种不会等待方法执行完成的方法,它会在调用后立即返回,然后在后台线程上执行方法的任务。

当方法执行完成后,会通过回调函数的方式通知调用者。

在一些情况下,我们可能需要调用一个同步方法,但又不希望阻塞程序的执行。

这时我们可以使用异步方式来调用同步方法,即在一个新的线程上调用同步方法,以避免阻塞主线程的执行。

下面是一个示例,演示了如何使用异步方式调用同步方法:```javaimport java.util.concurrent.ExecutionException;public class AsyncSyncMethodExamplepublic static void main(String[] args) throws InterruptedException, ExecutionException//同步方法的执行内容String result = synchronouseMethod(;return result;});//注册回调函数,在方法执行完成后执行回调函数future.thenAccept(result ->//回调函数的执行内容System.out.println("Result: " + result);});//主线程继续执行其他任务System.out.println("Main thread continues to do other tasks...");//等待异步方法执行完成future.get(;}public static String synchronouseMetho//同步方法的具体实现tryThread.sleep(5000); // 模拟耗时操作} catch (InterruptedException e)e.printStackTrace(;}return "Hello, world!";}```这样,我们就实现了通过异步方式调用同步方法,避免阻塞主线程的执行。

dubbo异步转同步的原理

dubbo异步转同步的原理

dubbo异步转同步的原理
Dubbo是一个高性能的Java RPC框架,它支持异步调用。

在实际应用中,有时候我们需要将异步调用转换为同步调用,这样可以更好地控制调用的顺序和结果。

接下来,我们将探讨Dubbo异步转同步的原理。

在Dubbo中,异步调用是通过Future模式实现的。

当我们发起一个异步调用时,Dubbo会立即返回一个Future对象,代表了调用的未来结果。

我们可以通过这个Future对象来获取调用的结果,或者在结果返回时执行相应的操作。

要将异步调用转换为同步调用,我们可以利用Future对象的get()方法。

该方法会阻塞当前线程,直到调用返回结果或者超时。

这样就实现了将异步调用转换为同步调用的效果。

另外,Dubbo还提供了一些回调函数和监听器,可以在调用返回结果时执行相应的操作。

这些机制可以帮助我们更灵活地处理异步调用的结果。

总的来说,Dubbo异步转同步的原理就是利用Future模式和阻
塞等待的方式,将异步调用转换为同步调用。

这样可以更好地控制调用的顺序和结果,提高系统的稳定性和可靠性。

希望本文能够帮助读者更好地理解Dubbo异步转同步的原理。

js 同步调用异步方法

js 同步调用异步方法

JavaScript中的异步编程是一项重要的技术,它可以使程序更加高效和响应迅速。

然而,有时候我们需要在异步方法执行完毕后执行一些同步的操作,这时就需要进行同步调用异步方法。

一、同步调用异步方法的概念同步调用异步方法是指在异步方法执行完毕之前,强制等待异步方法执行完毕后再继续执行后续操作的方法。

这种方法可以在异步方法执行过程中阻塞当前线程,避免其他操作的无序执行。

二、同步调用异步方法的实现方式1. 使用回调函数回调函数是一种常用的异步处理方式,它可以在异步操作完成后执行一段代码。

在JavaScript中,可以使用回调函数来实现同步调用异步方法。

例如:```javascriptasyncMethod(param, function(result) {// 异步方法执行完毕后的操作console.log(result);});```2. 使用Promise对象Promise对象是JavaScript中一种处理异步操作的对象,它代表了一个异步操作的最终完成或失败。

使用Promise对象,可以更简洁地实现同步调用异步方法。

例如:```javascriptasyncMethod().then(function(result) {// 异步方法执行完毕后的操作console.log(result);}).catch(function(error) {// 异步方法执行出错的处理console.error(error);});```三、同步调用异步方法的注意事项1. 避免死锁在同步调用异步方法时,如果异步方法执行时间过长,可能会导致当前线程被阻塞,从而引发死锁。

因此,需要合理控制异步方法的执行时间。

2. 避免重复操作在同步调用异步方法时,需要注意避免重复执行相同的操作。

否则,可能会导致资源的浪费和性能的下降。

总之,同步调用异步方法是一种常用的技术,它可以帮助我们在异步方法执行完毕后再进行后续的操作。

通过使用回调函数或Promise对象,可以实现更加简洁和高效的同步调用异步方法。

UML状态图的同步与异步状态转换技巧

UML状态图的同步与异步状态转换技巧

UML状态图的同步与异步状态转换技巧UML(统一建模语言)是一种用于软件开发过程中的图形化建模语言,其中的状态图是一种常用的建模工具。

状态图可以用于描述对象在不同状态之间的转换和行为。

在状态图中,同步和异步状态转换是两种常见的转换方式。

本文将探讨UML状态图中的同步和异步状态转换技巧,并介绍如何在实际应用中灵活运用。

一、同步状态转换同步状态转换是指在状态转换发生时,必须等待当前状态的所有活动完成后才能进行下一步的状态转换。

这种方式适用于需要按照确定的顺序执行的状态转换。

在状态图中,同步状态转换可以通过箭头连接状态之间的转换路径来表示。

例如,考虑一个简单的订单处理系统。

在订单状态图中,可以定义多个状态,如“新订单”、“待处理”、“已发货”和“已完成”。

当订单状态从“新订单”转换到“待处理”时,系统需要等待相关的处理流程完成,如库存检查、支付确认等。

只有当这些活动全部完成后,订单状态才能继续转换到下一个状态。

这种同步状态转换可以确保订单处理的顺序和正确性。

二、异步状态转换异步状态转换是指在状态转换发生时,不需要等待当前状态的所有活动完成,可以立即进行下一步的状态转换。

这种方式适用于需要并发执行的状态转换。

在状态图中,异步状态转换可以通过在状态之间的转换路径上添加触发事件来表示。

继续以订单处理系统为例,假设在“待处理”状态下,系统可以同时进行库存检查和支付确认两个活动。

当这两个活动完成后,订单状态可以同时转换到“已发货”和“已完成”两个状态。

这种异步状态转换可以提高系统的并发处理能力,缩短订单处理的时间。

三、同步与异步状态转换的选择在实际应用中,选择使用同步还是异步状态转换取决于系统的需求和设计目标。

同步状态转换适用于需要按照确定顺序执行的状态转换,可以确保系统的可靠性和正确性。

异步状态转换适用于需要并发执行的状态转换,可以提高系统的并发处理能力和效率。

在进行状态转换时,还需要考虑状态之间的约束和条件。

java 异步查询转同步多种实现方式:循环等待,CountDownLatch,Spring EventListener

java 异步查询转同步多种实现方式:循环等待,CountDownLatch,Spring EventListener

ja v a异步查询转同步多种实现⽅式:循环等待,C ou n t D ow n L a t ch,S pr ing E v en t L i st ene r异步转同步业务需求思路循环等待C ou n tD ow n L a t chS pr ing E v en t L i st ene r超时和空循环空循环超时编写代码地址异步转同步业务需求有些接⼝查询反馈结果是异步返回的,⽆法⽴刻获取查询结果。

正常处理逻辑触发异步操作,然后传递⼀个唯⼀标识。

等到异步结果返回,根据传⼊的唯⼀标识,匹配此次结果。

如何转换为同步正常的应⽤场景很多,但是有时候不想做数据存储,只是想简单获取调⽤结果。

即想达到同步操作的结果,怎么办呢?思路1. 发起异步操作2. 在异步结果返回之前,⼀直等待(可以设置超时)3. 结果返回之后,异步操作结果统⼀返回循环等待LoopQuery.java使⽤query(),将异步的操作remoteCallback()执⾏完成后,同步返回。

1public class LoopQuery implements Async {23private String result;45private static final Logger LOGGER = LogManager.getLogger(LoopQu ery.class.getName());67@Override8public String query(String key) {9 startQuery(key);10new Thread(new Runnable() {11@Override12public void run() {13 remoteCallback(key);14 }15 }).start();1617final String queryResult = endQuery();18 ("查询结果: {}", queryResult);19return queryResult;20 }2122/**23* 开始查询24* @param key 查询条件25*/26private void startQuery(final String key) {27 ("执⾏查询: {}", key);28 }2930/**31* 远程的回调是等待是随机的32*33* @param key 查询条件34*/35private void remoteCallback(final String key) {36try {37 TimeUnit.SECONDS.sleep(5);38 } catch (InterruptedException e) {39 e.printStackTrace();40 }41this.result = key +"-result";42 ("remoteCallback set result: {}", result);43 }4445/**46* 结束查询47* @return 返回结果48*/49private String endQuery() {50while (true) {51if (null== result) {52try {53 LISECONDS.sleep(100);54 } catch (InterruptedException e) {55 e.printStackTrace();56 }57 } else {58return result;59 }60 }61 }62}main()1public static void main(String[] args) {2new LoopQuery().query("12345");3}测试结果118:14:16.491 [main] INFO com.github.houbb.thread.learn.aysnc.loop.Lo opQuery - 执⾏查询: 12345218:14:21.498 [Thread-1] INFO com.github.houbb.thread.learn.aysnc.loo p.LoopQuery - remoteCallback set result: 12345-result 318:14:21.548 [main] INFO com.github.houbb.thread.learn.aysnc.loop.Lo opQuery - 查询结果: 12345-resultCountDownLatchAsyncQuery.java使⽤CountDownLatch类达到同步的效果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

图片简介:本公开提供了一种对小程序的异步调用转同步调用的方法、装置、设备及存储介质。

该方法包括:向小程序的应用程序接口API发送异步调用请求;基于异步等待机制,等待完成对所述API的调用;当完成对所述API的调用后,执行后续操作。

该方法可以避免出现冲突操作和数据脏读,保证程序运行的正确性与数据的完整性。

技术要求1.一种对小程序的异步调用转同步调用的方法,其特征在于,包括:向小程序的应用程序接口API发送异步调用请求;基于异步等待机制,等待完成对所述API的调用;当完成对所述API的调用后,执行后续操作。

2.根据权利要求1所述的方法,其特征在于,向小程序的应用程序接口API发送异步调用请求,包括:实例化Promise对象;及通过调用所述Promise对象的函数,向所述小程序的API发送所述异步调用请求。

3.根据权利要求2所述的方法,其特征在于,还包括:当对所述API的调用失败时,所述Promise 的状态被置为失败,返回新的实例化Promise对象;当对所述API的调用异常时,所述Promise的状态被置为失败,返回新的实例化Promise对象。

4.根据权利要求1所述的方法,其特征在于,所述异步等待机制是通过异步等待函数实现的,所述异步等待函数包括async/await函数。

5.根据权利要求4所述的方法,其特征在于,还包括:加载Babel编译环境,以对所述异步等待函数进行编译。

6.根据权利要求5所述的方法,其特征在于,加载Babel编译环境包括:加载Babel中的基本加载器,并对所述基本加载器进行配置;创建.babelrc文件;在所述.babelrc文件中对预设文件和插件文件进行配置;及在所述插件文件中配置babel-polyfill及babel-runtime,以对全局对象进行转码。

7.根据权利要求6所述的方法,其特征在于,还包括:安装babel-plugin-transform-runtime插件。

8.一种对小程序的异步调用转同步调用的装置,其特征在于,包括:请求发送模块,用于向小程序的应用程序接口API发送异步调用请求;调用等待模块,用于基于异步等待机制,等待完成对所述API的调用;操作执行模块,用于当完成对所述API的调用后,执行后续操作。

9.一种计算机设备,包括:存储器、处理器及存储在所述存储器中并可在所述处理器中运行的可执行指令,其特征在于,所述处理器执行所述可执行指令时实现如权利要求1-7任一项所述的方法。

10.一种计算机可读存储介质,其上存储有计算机可执行指令,其特征在于,所述可执行指令被处理器执行时实现如权利要求1-7任一项所述的方法。

技术说明书对异步调用转同步调用的方法、装置、设备及存储介质技术领域本公开涉及计算机技术领域,尤其涉及一种对小程序的异步调用转同步调用的方法、装置、设备及存储介质。

背景技术小程序中提供的API(Application Programming Interface,应用程序接口)大部分是异步操作,容易引起数据异常、出现冲突操作和数据脏读,同步操作可以保证程序运行的正确性与数据的完整性,因此需要一种对小程序的异步调用转同步调用的方法。

需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。

技术内容本公开的目的在于提供一种对小程序的异步调用转同步调用的方法、装置、设备及存储介质,可以将小程序中的异步调用转为同步调用。

本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。

根据本公开的一个方面,提供一种对小程序的异步调用转同步调用的方法,包括:向小程序的应用程序接口API发送异步调用请求;基于异步等待机制,等待完成对API的调用;当完成对API的调用后,执行后续操作。

在一些实施例中,向小程序的应用程序接口API发送异步调用请求,包括:实例化Promise对象;及通过调用Promise对象的函数,向小程序的API发送异步调用请求。

在一些实施例中,上述方法还包括:当对API的调用失败时,Promise的状态被置为失败,返回新的实例化Promise对象;当对API的调用异常时,Promise的状态被置为失败,返回新的实例化Promise对象。

在一些实施例中,异步等待机制是通过异步等待函数实现的,异步等待函数包括async/await函数。

在一些实施例中,上述方法还包括:加载Babel编译环境,以对所述异步等待函数进行编译。

在一些实施例中,加载Babel编译环境包括:加载Babel中的基本加载器,并对基本加载器进行配置;创建.babelrc文件;在.babelrc文件中对预设文件和插件文件进行配置;及在插件文件中配置babel-polyfill及babel-runtime,以对全局对象进行转码。

在一些实施例中,上述方法还包括:安装babel-plugin-transform-runtime插件。

根据本公开的另一个方面,提供一种对小程序的异步调用转同步调用的装置,包括:请求发送模块,用于向小程序的应用程序接口API发送异步调用请求;调用等待模块,用于基于异步等待机制,等待完成对API的调用;操作执行模块,用于当完成对API的调用后,执行后续操作。

根据本公开的再一个方面,提供一种计算机设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任一种方法。

根据本公开的又一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种方法。

本公开实施例提供的对小程序的异步调用转同步调用的方法,在向小程序的应用程序接口API发送异步调用请求时,基于异步等待机制,等待完成对API的调用;并在完成对API的调用后,执行后续操作,可以将小程序中的API异步调用转为同步调用,从而可以避免出现冲突操作和数据脏读,保证了程序运行的正确性与数据的完整性。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本公开一个示例性实施例提供的计算机系统的结构示意图。

图2是根据一示例性实施方式示出的一种对小程序的异步调用转同步调用的方法的流程图。

图3是根据一示例性实施方式示出的另一种对小程序的异步调用转同步调用的方法的流程图。

图4是根据一示例示出的一种Promise中执行函数的流程图。

图5是根据一示例示出的一种Promise中执行结果的示意图。

图6是根据一示例性实施方式示出的另一种对小程序的异步调用转同步调用的方法的流程图。

图7是根据一示例性实施方式示出的再一种对小程序的异步调用转同步调用的方法的流程图。

图8是根据一示例性实施方式示出的一种对小程序的异步调用转同步调用的装置的框图。

图9是根据一示例性实施方式示出的一种计算机系统的结构示意图。

具体实施方式现在将参考附图更全面地描述示例实施方式。

然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。

所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。

此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。

图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。

附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。

可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

在本公开的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。

由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。

图1是本公开一个示例性实施例提供的计算机系统的结构示意图。

该系统包括:若干个终端120和服务器集群140。

终端120可以是手机、游戏主机、平板电脑、电子书阅读器、智能眼镜、MP4(MovingPicture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、智能家居设备、AR(Augmented Reality,增强现实)设备、VR(Virtual Reality,虚拟现实)设备等移动终端,或者,终端120也可以是个人计算机(Personal Computer,PC),比如膝上型便携计算机和台式计算机等等。

其中,终端120中可以安装有用于提供对小程序的异步调用转同步调用的方法的应用程序。

终端120与服务器集群140之间通信网络相连。

可选的,通信网络是有线网络或无线网络。

服务器集群140是一台服务器,或者由若干台服务器组成,或者是一个虚拟化平台,或者是一个云计算服务中心。

服务器集群140用于为提供对小程序的异步调用转同步调用的方法的应用程序提供后台服务。

可选地,服务器集群140承担主要计算工作,终端120承担次要计算工作;或者,服务器集群140承担次要计算工作,终端120承担主要计算工作;或者,终端120和服务器集群140之间采用分布式计算架构进行协同计算。

在一些可选的实施例中,服务器集群140用于存储信息。

可选地,不同的终端120中安装的应用程序的客户端是相同的,或两个终端120上安装的应用程序的客户端是不同控制系统平台的同一类型应用程序的客户端。

基于终端平台的不同,该应用程序的客户端的具体形态也可以不同,比如,该应用程序客户端可以是手机客户端、PC客户端或者全球广域网(World Wide Web,Web)客户端等。

本领域技术人员可以知晓,上述终端120的数量可以更多或更少。

比如上述终端可以仅为一个,或者上述终端为几十个或几百个,或者更多数量。

本公开实施例对终端的数量和设备类型不加以限定。

可选的,该系统还可以包括管理设备(图1未示出),该管理设备与服务器集群140之间通过通信网络相连。

可选的,通信网络是有线网络或无线网络。

可选的,上述的无线网络或有线网络使用标准通信技术和/或协议。

网络通常为因特网、但也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。

相关文档
最新文档