CN111177164B - 一种基于定时任务框架的车辆实时信息调度方法 - Google Patents

一种基于定时任务框架的车辆实时信息调度方法 Download PDF

Info

Publication number
CN111177164B
CN111177164B CN201911305098.0A CN201911305098A CN111177164B CN 111177164 B CN111177164 B CN 111177164B CN 201911305098 A CN201911305098 A CN 201911305098A CN 111177164 B CN111177164 B CN 111177164B
Authority
CN
China
Prior art keywords
task
lock
tasks
interface
lockvalue
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
CN201911305098.0A
Other languages
English (en)
Other versions
CN111177164A (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.)
Shaanxi Tianxingjian Networking Information Technology Co ltd
Original Assignee
Shaanxi Tianxingjian Networking Information 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 Shaanxi Tianxingjian Networking Information Technology Co ltd filed Critical Shaanxi Tianxingjian Networking Information Technology Co ltd
Priority to CN201911305098.0A priority Critical patent/CN111177164B/zh
Publication of CN111177164A publication Critical patent/CN111177164A/zh
Application granted granted Critical
Publication of CN111177164B publication Critical patent/CN111177164B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2336Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
    • G06F16/2343Locking methods, e.g. distributed locking or locking implementation details
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2428Query predicate definition using graphical user interfaces, including menus and forms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于定时任务框架的车辆实时信息调度方法,定时任务框架包括iov‑task‑api、注册器和定时容器,将车辆实时信息分为n个任务依次通过并执行;本发明克服了任务的单线程、单节点、任务的监控困难问题,通过提供统一的接口和调度框架,使得开发人员将自身沉浸到业务中,解决任务多节点部署竞争的问题和监控任务执行情况的可视化界面,极大提高了开发效率,使得业务的开发规范化,维护成本和开发成本减低。

Description

一种基于定时任务框架的车辆实时信息调度方法
技术领域
本发明属于车联网技术领域,涉及一种基于定时任务框架的车辆实时信息调度方法。
背景技术
随着车联网技术的发展,车辆信息都需要发送给后台,比如在车辆实时里程聚集中,单车5秒上报一次给网关,然后再从网关消费车辆上报数据数据并存储。然而随着后台需要处理的车辆数量增长,直接消费入关系型数据库越来越难,一般采取先消费到中间件,再定时迁移到关系型数据库。而从中间件迁移时存在一定的延时,一般延时在一天左右,不能保证车辆信息的实时性。
发明内容
本发明解决的技术问题在于提供一种基于定时任务框架的车辆实时信息调度方法,实现车辆信息的实时迁移和调度。
本发明是通过以下技术方案来实现:
一种基于定时任务框架的车辆实时信息调度方法,定时任务框架包括iov-task-api、注册器和定时容器,将车辆实时信息分为n个任务,其调度方法包括以下操作:
1)iov-task-api提供面向任务的接口,其包括DefaultScheduleTask类和DefaultTask两部分;其中,DefaultScheduleTask类包括了lock和调度方法,DefaultTask提供任务执行的业务写入方法;任务继承DefaultScheduleTask类,再继承DefaultTask,任务在满足解锁条件后被释放,通过接口进入注册器进行注册;
2)注册器包括任务细节和触发器,注册时,任务细节对任务命名和分组,触发器对任务规定执行频率;注册后,注册器将任务的注册内容通知定时容器,定时容器按照业务写入方法将任务写入数据库;
3)定时容器还包括任务启动、暂停、更新、删除和显示的接口;显示界面通过调用定时容器的显示接口,在显示界面进行显示,通过调用任务启动、暂停、更新和删除接口执行相应的操作。
在任务在继承DefaultScheduleTask类和DefaultTask后,其通过接口的方式包括:
任务并行:当任务名不相同时,任务各自通过接口进入注册器;
任务单行:当任务名相同时,通过lock对任务排序,再依次通过接口进入注册器。
所述的任务在满足解锁条件后被释放的操作为:
1)当A任务继承DefaultScheduleTask类时,通过setnx(lockkey,current time+timeout)命令能成功设置lockkey时,即返回值为true_1;timeout对A任务锁设置过期时间,执行任务锁的任务,在规定的时间内完成并释放通过接口;当任务发生阻塞导致任务锁超时,key被强行释放解锁,通过接口;
2)当A任务通过setnx(lockkey,currenttime+timeout)命令不能成功进入,返回值为false_1;在当前时间大于redis中存储键值为lockkey的value值时,则认为上一任的拥有者对锁的使用权已经失效,A任务强行拥有该锁;具体判定过程如下:当A任务通过get(lockkey),获取redis中的存储键值为lockkey的value值,即获取锁的相对时间lockvalueA,lockvalueA!=null&&current time>lockvalue;
A任务锁通过当前的时间与锁设置的时间做比较,如果当前时间已经大于锁设置的时间临界,则进一步判断是否可以获取锁;否则说明该锁还在被占用,A任务还不能获取该锁,返回false_2,获取锁失败;
当A任务可以获取锁时,返回为true_2,通过getSet设置新的超时时间,并返回旧值lockvalueB,以作判断,lockvalueB==null||lockvalueA==lockvalue B;如果lockvalueB为null,说明该锁已经被释放了,此时该进程可以获取锁;否则不能获取锁,结束返回false_3,获取锁失败;
获取锁失败后,等待下次解锁。
与现有技术相比,本发明具有以下有益的技术效果:
本发明提供的基于定时任务框架的车辆实时信息调度方法,通过优化完善定时框架,对比之前定时任务的实现,克服了任务的单线程、单节点、任务的监控困难问题,通过提供统一的接口和调度框架,使得开发人员将自身沉浸到业务中,解决任务多节点部署竞争的问题和监控任务执行情况的可视化界面,极大提高了开发效率,使得业务的开发规范化,维护成本和开发成本减低。
本发明提供的基于定时任务框架的车辆实时信息调度方法,iov-task-api作为接口提供了统一任务接口和任务继承类api,开发者只需引入iov_task依赖,实现接口即可,避免资源浪费,从而实现更有效的信息调度,维护方便;进一步基于多节点任务部署,采用了quartz+redis来实现任务锁,从而避免了资源竞争产生的死锁;本发明的定时任务框架十分轻量,操作简单,对任务执行的更新删除以及执行情况监控入库提供了可视化界面。
附图说明
图1为本发明的调度方法流程示意图;
图2为任务被释放的解锁流程示意图;
图3为任务通过接口并继承类的示意图;
图4为可视化界面对通过接口的任务执行监控的示意图;
图5为任务执行情况的示意图。
具体实施方式
下面结合实施例对本发明做进一步详细描述,所述是对本发明的解释而不是限定。
参见图1、图2,本发明提供的基于定时任务框架的车辆实时信息调度方法,所述的定时任务框架包括iov-task-api、注册器和定时容器,将车辆实时信息分为n个任务,其调度方法包括以下操作:
1)iov-task-api提供面向任务的接口,其包括DefaultScheduleTask类和DefaultTask两部分;其中,DefaultScheduleTask类包括了lock和调度方法,DefaultTask提供任务执行的业务写入方法;任务继承DefaultScheduleTask类,再继承DefaultTask,任务在满足解锁条件后被释放,通过接口进入注册器进行注册;
2)注册器包括任务细节和触发器,注册时,任务细节对任务命名和分组,触发器对任务规定执行频率;注册后,注册器将任务的注册内容通知定时容器,定时容器按照业务写入方法将任务写入数据库;
3)定时容器还包括任务启动、暂停、更新、删除和显示的接口;显示界面通过调用定时容器的显示接口,在显示界面进行显示,通过调用任务启动、暂停、更新和删除接口执行相应的操作。
下面对各部分详细说明。
iov-task-api包括DefaultScheduleTask类和DefaultTask两部分,提供与各个任务类对接的接口和redis锁(lock)其中,DefaultScheduleTask类包括了lock、调度方法;DefaultTask包括了业务写入方法,任务按照业务写入方法执行;
任务继承DefaultScheduleTask类,再继承DefaultTask;开发者只需继承DefaultScheduleTask类和DefaultTask接口即可实现对不同任务的执行和调用;通过任务的继承和解锁判断,实现提供了统一任务接口,lock实现了redis锁用于多节点分布集合到了api中。
针对n个任务和统一的接口,任务的调用分为并行和单行:
任务并行:任务名不相同时通过接口进入注册器;
任务单行:任务名相同时通过lock对任务排序,再依次通过接口进入注册器;
任务的注册是由注册器来进行,注册器实现任务的调度;注册器包括任务细节和触发器,其中任务细节对任务命名、分组,触发器对任务规定执行频率;定时容器还包括任务启动、暂停、更新、删除和显示的接口;
注册器将任务的注册内容通知定时容器,定时容器按照业务写入方法将任务写入数据库;具体的,采用Java+quarzt实现了任务的增删改功能,具体通过任务的类名+Cron表达式进行调度;实时的调度可以通过调用频率来调节,比如5s/10s的定时任务提取。
显示界面通过调用定时容器的显示接口,可视化界面进行监控;在显示界面进行显示后,就通过调用任务启动、暂停、更新和删除接口执行相应的操作。
参见图2,下面以A任务为例来说明锁和解锁的过程:
1)当A任务通过setnx(lockkey,currenttime+timeout)命令能成功设置lockkey时,即返回值为true_1;
对A任务锁设置过期时间,执行任务锁的任务,在规定的时间内完成并释放通过接口;当任务发生阻塞导致任务锁超时,key被强行释放解锁,通过接口
2)当A通过setnx(lockkey,currenttime+timeout)命令不能成功进入false_1,由于在设置锁时,设置了锁的超时时间timeout,当当前时间大于redis中存储键值为lockkey的value值时,可以认为上一任的拥有者对锁的使用权已经失效了,A就可以强行拥有该锁;具体判定过程如下:
A任务通过get(lockkey),获取redis中的存储键值为lockkey的value值,即获取锁的相对时间lockvalueA,lockvalueA!=null&&currenttime>lockvalue,A任务锁通过当前的时间与锁设置的时间做比较,如果当前时间已经大于锁设置的时间临界,即可以进一步判断是否可以获取锁,否则说明该锁还在被占用,A任务就还不能获取该锁,返回false_2,获取锁失败;
当可以获取锁返回结果为true_2后,通过getSet设置新的超时时间,并返回旧值lockvalueB,以作判断,因为在分布式环境,在进入这里时可能另外的进程获取到锁并对值进行了修改,只有旧值与返回的值一致才能说明中间未被其他进程获取到这个锁;
lockvalueB==null||lockvalueA==lockvalueB,判断:如果lockvalueB为null,说明该锁已经被释放了,此时该进程可以获取锁;旧值与返回的lockvalueB一致说明中间未被其他进程获取该锁,可以获取锁;否则不能获取锁,结束返回false_3,获取锁失败;
等待下次解锁,直到判断成功,依次通过接口。
下面以车辆实时信息中的里程为调度任务来进行任务的调度及执行结果的说明。
参见图3,里程任务类继承iov-task-api接口并继承类,invoke中为具体业务,定时容器(controller)中包括任务的启动、暂停、更新、删除。
参见图4,可视化界面对通过接口的任务执行监控情况的展示,可以通过调用定时容器接口进行启动、暂停、更新、删除。
参见图5,具体的任务执行记录,包括了任务名称(包括继承类),开始时间、结束时间、耗时以及下一次执行时间,并对执行状态进行了展示。
通过以上展示说明,本发明提供的方法,克服了任务的单线程、单节点、任务的监控困难问题,为开发者提供了统一的接口,极大提高了开发效率,使得业务的开发规范化,维护成本和开发成本减低。
以上给出的实施例是实现本发明较优的例子,本发明不限于上述实施例。本领域的技术人员根据本发明技术方案的技术特征所做出的任何非本质的添加、替换,均属于本发明的保护范围。

Claims (2)

1.一种基于定时任务框架的车辆实时信息调度方法,其特征在于,定时任务框架包括iov-task-api、注册器和定时容器,将车辆实时信息分为n个任务,其调度方法包括以下操作:
1)iov-task-api提供面向任务的接口,其包括DefaultScheduleTask类和DefaultTask两部分;其中,DefaultScheduleTask类包括了lock和调度方法,DefaultTask提供任务执行的业务写入方法;任务继承DefaultScheduleTask类,再继承DefaultTask,任务在满足解锁条件后被释放,通过接口进入注册器进行注册;
2)注册器包括任务细节和触发器,注册时,任务细节对任务命名和分组,触发器对任务规定执行频率;注册后,注册器将任务的注册内容通知定时容器,定时容器按照业务写入方法将任务写入数据库;
3)定时容器还包括任务启动、暂停、更新、删除和显示的接口;显示界面通过调用定时容器的显示接口,在显示界面进行显示,通过调用任务启动、暂停、更新和删除接口执行相应的操作;
所述的任务在满足解锁条件后被释放的操作为:
i)当A任务继承DefaultScheduleTask类时,通过setnx(lockkey,currenttime+timeout)命令能成功设置lockkey时,即返回值为true_1;timeout对A任务锁设置过期时间,执行任务锁的任务,在规定的时间内完成并释放通过接口;当任务发生阻塞导致任务锁超时,key被强行释放解锁,通过接口;
ii)当A任务通过setnx(lockkey,currenttime+timeout)命令不能成功进入,返回值为false_1;在当前时间大于redis中存储键值为lockkey的value值时,则认为上一任的拥有者对锁的使用权已经失效,A任务强行拥有该锁;具体判定过程如下:当A任务通过get(lockkey),获取redis中的存储键值为lockkey的value值,即获取锁的相对时间lockvalueA,lockvalueA!=null&&currenttime>lockvalue;
A任务锁通过当前的时间与锁的相对时间做比较,如果当前时间已经大于锁的相对时间的时间临界,则进一步判断是否可以获取锁;否则说明该锁还在被占用,A任务还不能获取该锁,返回false_2,获取锁失败;
当A任务可以获取锁时,返回为true_2,通过getSet设置新的超时时间,并返回旧值lockvalueB,以作判断,lockvalueB==null||lockvalueA==lockvalueB;如果lockvalueB为null,说明该锁已经被释放了,此时该进程可以获取锁;旧值与返回的lockvalueB一致说明中间未被其他进程获取该锁,可以获取锁;否则不能获取锁,结束返回false_3,获取锁失败;
获取锁失败后,等待下次解锁。
2.如权利要求1所述的基于定时任务框架的车辆实时信息调度方法,其特征在于,在任务在继承DefaultScheduleTask类和DefaultTask后,其通过接口的方式包括:
任务并行:当任务名不相同时,任务各自通过接口进入注册器;
任务单行:当任务名相同时,通过lock对任务排序,再依次通过接口进入注册器。
CN201911305098.0A 2019-12-17 2019-12-17 一种基于定时任务框架的车辆实时信息调度方法 Active CN111177164B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911305098.0A CN111177164B (zh) 2019-12-17 2019-12-17 一种基于定时任务框架的车辆实时信息调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911305098.0A CN111177164B (zh) 2019-12-17 2019-12-17 一种基于定时任务框架的车辆实时信息调度方法

Publications (2)

Publication Number Publication Date
CN111177164A CN111177164A (zh) 2020-05-19
CN111177164B true CN111177164B (zh) 2023-08-01

Family

ID=70653847

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911305098.0A Active CN111177164B (zh) 2019-12-17 2019-12-17 一种基于定时任务框架的车辆实时信息调度方法

Country Status (1)

Country Link
CN (1) CN111177164B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112463348B (zh) * 2021-01-27 2021-06-15 北京搜狐新媒体信息技术有限公司 一种定时任务处理方法及装置
CN117292541B (zh) * 2023-08-14 2024-03-19 陕西天行健车联网信息技术有限公司 一种运输趟次统计分析方法、装置、设备和介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102834818A (zh) * 2009-09-28 2012-12-19 网际网路控制架构网络有限公司 具有并行处理架构的集成安全系统
CN103679392A (zh) * 2013-12-26 2014-03-26 拉卡拉支付有限公司 一种任务调度处理方法及系统
CN103870307A (zh) * 2014-03-14 2014-06-18 大唐移动通信设备有限公司 一种数据源同步与告警的装置和方法
CN109508238A (zh) * 2019-01-05 2019-03-22 咪付(广西)网络技术有限公司 一种用于深度学习的资源管理系统及方法
CN109857527A (zh) * 2019-01-04 2019-06-07 四川虹美智能科技有限公司 一种分布式任务调度方法、系统、分布式装置和Redis数据库
CN110024422A (zh) * 2016-12-30 2019-07-16 英特尔公司 物联网的命名和区块链记录
CN110245008A (zh) * 2018-03-09 2019-09-17 阿里巴巴集团控股有限公司 定时任务处理方法、系统和设备
CN110275859A (zh) * 2018-03-15 2019-09-24 明日娱乐欧洲公司 游戏引擎以及芯片上的人工智能引擎
WO2019236217A1 (en) * 2018-06-03 2019-12-12 Apple Inc. Accelerated task performance

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7403945B2 (en) * 2004-11-01 2008-07-22 Sybase, Inc. Distributed database system providing data and space management methodology

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102834818A (zh) * 2009-09-28 2012-12-19 网际网路控制架构网络有限公司 具有并行处理架构的集成安全系统
CN103679392A (zh) * 2013-12-26 2014-03-26 拉卡拉支付有限公司 一种任务调度处理方法及系统
CN103870307A (zh) * 2014-03-14 2014-06-18 大唐移动通信设备有限公司 一种数据源同步与告警的装置和方法
CN110024422A (zh) * 2016-12-30 2019-07-16 英特尔公司 物联网的命名和区块链记录
CN110245008A (zh) * 2018-03-09 2019-09-17 阿里巴巴集团控股有限公司 定时任务处理方法、系统和设备
CN110275859A (zh) * 2018-03-15 2019-09-24 明日娱乐欧洲公司 游戏引擎以及芯片上的人工智能引擎
WO2019236217A1 (en) * 2018-06-03 2019-12-12 Apple Inc. Accelerated task performance
CN109857527A (zh) * 2019-01-04 2019-06-07 四川虹美智能科技有限公司 一种分布式任务调度方法、系统、分布式装置和Redis数据库
CN109508238A (zh) * 2019-01-05 2019-03-22 咪付(广西)网络技术有限公司 一种用于深度学习的资源管理系统及方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
long-term stable control of motor-imagery BCI by a locked-in-user through adaptive assistance;Sareh Saeedi等;IEEE Transaction on neural systems and rehabilitation engineering;380-391 *
一种Linux用户态实时多任务调度框架;张旭等;中国科学技术大学学报;第47卷(第8期);635-643 *
分布式计算系统中死锁的预防与检测;赖河蒗;电脑知识与技术;第10卷(第26期);6049-6050+6054 *
网格资源协同分配死锁处理问题研究;张横云;段金蓉;;现代电子技术(第16期);112-115 *

Also Published As

Publication number Publication date
CN111177164A (zh) 2020-05-19

Similar Documents

Publication Publication Date Title
US20230025917A1 (en) Task scheduling method and apparatus
US5872971A (en) Data processing systems and methods providing interoperability between data processing resources
CN111177164B (zh) 一种基于定时任务框架的车辆实时信息调度方法
US8661441B2 (en) Transaction load reduction for process completion
Diaz et al. EXACT: an extensible approach to active object-oriented databases
CN105867907A (zh) 去除业务耦合性的JSS多层Web开发框架设计方法
CN111857984A (zh) 银行系统中的作业调用处理方法、装置和计算机设备
CN101251796A (zh) 基于依赖注入的分布式构件依赖关系管理方法
CN101488903A (zh) 基于统一分类接口的数据中心自动化资源管理系统及方法
Kuo et al. A general model for nested transactional workflows
CN113722141B (zh) 数据任务的延迟原因确定方法、装置、电子设备及介质
CN106095535B (zh) 一种支持多核平台下数据流处理的线程管理系统
US6289410B1 (en) Method and system for maintaining consistency of shared objects based upon instance variable locking
WO2001001256A1 (en) Method and apparatus for static analysis of software code
CN111552563B (zh) 一种多线程数据系统、多线程消息传递方法及系统
Kappel et al. A transaction model for handling composite events
CN114020436A (zh) 一种基于Quartz定时任务的领域任务实时调度方法
Hentrich Six Patterns for Process-Driven Architectures.
CN113448710B (zh) 基于业务资源的分布式应用系统
Kappel et al. Multi-parent subtransactions covering the transactional needs of composite events
Ding et al. New model and scheduling protocol for transactional workflows
CN117648082A (zh) 一种Cesium三维可视化系统业务场景切换处理方法
Lano Introduction to the unified modeling language
Wei et al. New Model and Scheduling Protocol for Transactional Workflows
CN115562749A (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
GR01 Patent grant
GR01 Patent grant