CN112114778A - 一种支持水平扩展的跨平台动态库算法管理系统 - Google Patents
一种支持水平扩展的跨平台动态库算法管理系统 Download PDFInfo
- Publication number
- CN112114778A CN112114778A CN202010637327.5A CN202010637327A CN112114778A CN 112114778 A CN112114778 A CN 112114778A CN 202010637327 A CN202010637327 A CN 202010637327A CN 112114778 A CN112114778 A CN 112114778A
- Authority
- CN
- China
- Prior art keywords
- algorithm
- dynamic library
- instance
- dynamic
- loading
- 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.)
- Granted
Links
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 265
- 230000006870 function Effects 0.000 claims description 49
- 238000000034 method Methods 0.000 claims description 25
- 230000008569 process Effects 0.000 claims description 22
- 238000012544 monitoring process Methods 0.000 claims description 6
- 230000006378 damage Effects 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 3
- 238000001914 filtration Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种支持水平扩展的跨平台动态库算法管理系统,针对不同业务使用不同算法,同一业务会也会使用多种算法的特性,具备高扩展、易用性、热加载的特性。其技术方案为:在业务层面,系统支持业务扩展,可针对业务特点自定义算法接口和参数。在算法层面,系统支持动态库算法的灵活扩展,对于每一类算法接口,可根据定义好的算法接口编写新的算法动态库,实现算法水平扩展。算法接口可灵活定义,已编写的算法动态库存储在指定路径下,系统将自动加载该路径下的所有算法动态库,也可灵活设置加载算法动态库的过滤条件。此外,本发明提供热加载功能,将新的算法动态库实时加载进入系统中而无需重启。
Description
技术领域
本发明涉及一种算法管理系统,具体涉及一种能够支持水平扩展的跨平台的动态库算法管理系统,可应用于金融软件领域。
背景技术
金融交易软件有很多复杂业务需要处理,业务计算通常会涉及到各类算法。一方面,各类业务所使用的算法的接口各不相同;另一方面,对于每一类业务计算通常会有多种算法实现。为了做到将算法实现和业务流程解耦合,通常会将算法实现做成动态链接库,业务进程在运行时动态加载这些算法动态库,以实现算法水平扩展。因此在金融软件中,对动态库算法的管理尤为重要。
在动态库算法中,通常是通过一个C++类来实现算法逻辑,业务进程加载动态库算法后创建这个类的对象(称为“实例对象”),调用对象的接口来进行计算,在具体业务实现中通常有以下两个典型应用场景。
1.典型应用场景1,如图1所示,一个业务处理模块中有3类业务需要处理,每一类业务可以用不同的算法实现,如业务1包含三种算法实现(即三种动态库算法)。而在整个进程内,对于每种动态库算法,只存在一个实例对象。
2.典型应用场景2,如图2所示,该模块具有两类业务,业务1有两种动态库算法,而针对每种算法又分别创建了3个不同的实例对象,业务2有一种动态库算法,该算法又创建了3个不同的实例对象。
如何在算法管理的高扩展性、高灵活性、和热加载性上实现出理想的效果,是目前业界亟待解决的问题。
发明内容
以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之序。
本发明的目的在于解决上述问题,提供了一种支持水平扩展的跨平台动态库算法管理系统,针对不同业务使用不同算法,同一业务会也会使用多种算法的特性,具备高扩展、易用性、热加载的特性。
本发明的技术方案为:本发明揭示了一种支持水平扩展的跨平台动态库算法管理系统,系统包括动态库文件读取模块、动态库加载模块、单实例算法管理组件和多实例算法管理组件,单实例算法管理组件和多实例算法管理组件调用动态库加载模块,动态库加载模块调用动态库文件读取模块,其中:
动态库文件读取模块,用于读取指定路径下的算法动态库文件并保存在内存中;
动态库加载模块,用于从内存中将读取到的算法动态库文件加载到系统中并保存加载后的算法动态库文件的信息;
单实例算法管理组件,用于在算法动态库被动态库加载模块加载后自动创建一个实例对象,由单实例算法管理组件管理并供应用层直接调用;
多实例算法管理组件,用于在算法动态库被动态库加载模块加载后,不自动创建实例对象而是由应用层主动创建实例对象并由多实例算法管理组件进行管理,其中一个算法动态库可创建多个实例对象。
根据本发明的支持水平扩展的跨平台动态库算法管理系统的一实施例,动态库文件读取模块提供动态库文件的读取接口来供其他模块调用以读取指定路径下的算法动态库文件;动态库文件读取模块还提供动态库文件的遍历接口来供动态库加载模块调用来获得算法动态库文件。
根据本发明的支持水平扩展的跨平台动态库算法管理系统的一实施例,动态库加载模块中保存的算法动态库文件的信息包括动态库加载的句柄和文件名。
根据本发明的支持水平扩展的跨平台动态库算法管理系统的一实施例,动态库加载模块还根据过滤条件加载所需的算法动态库文件。
根据本发明的支持水平扩展的跨平台动态库算法管理系统的一实施例,单实例算法管理组件支持模板化接口。
根据本发明的支持水平扩展的跨平台动态库算法管理系统的一实施例,单实例算法管理组件包括算法动态库的业务接口和管理接口,其中管理接口配置3个入口函数,分别是创建函数、销毁函数和识别函数,创建函数用于创建算法动态库的实例对象,销毁函数用于销毁算法动态库的实例对象,识别函数用于获取算法动态库的身份标识。
根据本发明的支持水平扩展的跨平台动态库算法管理系统的一实施例,单实例算法管理组件对算法动态库文件的加载配置为如下的处理:遍历指定目录下的动态库文件,在遍历的每一个循环体中,先加载算法动态库,再解析算法动态库的动态库编号,登记算法动态库信息,动态库文件全部遍历后动态库加载过程结束。
根据本发明的支持水平扩展的跨平台动态库算法管理系统的一实施例,多实例算法管理组件对算法动态库文件的加载配置为如下的处理:加载过程包括动态库加载过程和动态库实例启动过程;在前期的动态库加载过程中,首先遍历指定目录下的动态库文件,在遍历的每一个循环体中,先加载算法动态库,再解析动态库ID和登记动态库信息,直至遍历结束;再遍历动态库实例配置,在此遍历的每一个循环体中,先创建动态库实例,加载动态库参数,再启动动态库实例,直至遍历结束。
根据本发明的支持水平扩展的跨平台动态库算法管理系统的一实施例,单实例算法管理组件和多实例算法管理组件均支持动态库实时加载和卸载,其中在单实例算法管理组件和多实例算法管理组件的内部配置一个监测线程,该监测线程启动后定时检查指定目录下的文件变动,若发现有文件新增,则调用单实例算法管理组件或多实例算法管理组件的加载接口将新增的算法动态库加载到系统中。
本发明对比现有技术有如下的有益效果:本发明的系统具备高扩展、易用性、热加载的特性,详细如下。
(1)高扩展:在业务层面,系统支持业务扩展,可针对业务特点自定义算法接口和参数。在算法层面,系统支持动态库算法的灵活扩展,对于每一类算法接口,可根据定义好的算法接口编写新的算法动态库,实现算法水平扩展。
(2)灵活易用:算法接口可灵活定义;已编写的算法动态库存储在指定路径下,系统将自动加载该路径下的所有算法动态库,也可灵活设置加载算法动态库的过滤条件。
(3)热加载:软件在运行时,系统中加载的算法动态库有时不足以支撑业务场景,需要紧急使用新的算法动态库,但系统又不能停止运行,本发明提供热加载功能,可将新的算法动态库实时加载进入系统中而无需重启。
附图说明
在结合以下附图阅读本公开的实施例的详细描述之后,能够更好地理解本发明的上述特征和优点。在附图中,各组件不一定是按比例绘制,并且具有类似的相关特性或特征的组件可能具有相同或相近的附图标记。
图1和图2分别示出了动态库算法管理的典型应用场景。
图3示出了本发明的支持水平扩展的跨平台动态库算法管理系统的一实施例的逻辑架构原理图。
图4示出了本发明的支持水平扩展的跨平台动态库算法管理系统的一实施例的结构示意图。
图5示出了本发明的系统中的单实例算法管理组件的流程图。
图6示出了本发明的系统中的多实例算法管理组件的流程图。
图7示出了本发明的系统中的动态库热加载的流程图。
具体实施方式
以下结合附图和具体实施例对本发明作详细描述。注意,以下结合附图和具体实施例描述的诸方面仅是示例性的,而不应被理解为对本发明的保护范围进行任何限制。
首先请参考图3,本发明的支持水平扩展的跨平台动态库算法管理系统的逻辑架构中,对于每一类业务都进行业务接口的定义。业务接口的定义需提供给算法动态库和使用者,算法动态库根据业务接口实现算法逻辑,使用者根据业务接口调用算法逻辑。每个算法动态库具有独立的PLUGIN_ID作为算法动态库的唯一标示,使用者对于特定的业务接口可加载多个算法动态库,通过PLUGIN_ID来识别不同的算法。
请参考图4,本实施例的支持水平扩展的跨平台动态库算法管理系统包括:动态库文件读取模块、动态库加载模块、单实例算法管理组件和多实例算法管理组件。
单实例算法管理组件和多实例算法管理组件调用动态库加载模块,动态库加载模块调用动态库文件读取模块。
动态库文件读取模块将指定路径下的算法动态库文件递归方式读取出来,并保存在内存中,该模块对各平台的文件读取功能进行封装,文件读取支持跨平台。动态库加载模块加载算法动态库文件,并保存加载后的算法动态库文件的信息,该模块对各平台的文件加载功能进行封装,文件加载也支持跨平台。单实例算法管理组件使用C++模板技术实现,管理不同算法的算法动态库及算法动态库的入口函数,自动为每个算法动态库创建一个实例对象,应用层可直接调用该实例对象。多实例算法管理组件管理应用层创建算法动态库的实例对象,一个算法动态库可创建多个实例对象,并保存算法动态库的入口函数,加载后需动态创建实例对象。应用层定义算法的接口和算法动态库的实现,并根据算法动态库使用场景通过单实例算法管理组件或多实例算法管理组件对算法动态库的实例对象进行管理。
单实例算法管理组件用于在算法动态库被动态库加载模块加载后自动创建一个实例对象,由单实例算法管理组件对所创建的实例对象进行管理。较佳的,单实例算法管理组件支持模板化接口。
使用者首先定义算法动态库的业务接口,在算法动态库实现时运行算法动态库的业务接口和管理接口,管理接口配置三个入口函数:create(创建)、destroy(销毁)和identity(识别)函数,其中create函数创建算法动态库实例对象,destroy函数销毁算法动态库实例对象,Identity函数获取算法动态库的身份标识(ID和name,ID为独一无二的动态库编号PLUGIN_ID),函数接口原型如下所示。
在系统运行时,调用单实例算法管理组件的加载(load)接口将算法动态库加载到系统中,单实例算法管理组件内部会通过回调函数获取算法动态库的三个函数(create、destroy和identity函数)的地址,并保存算法动态库的create和identity函数地址,再根据算法动态库的identity函数的实现,将算法动态库的身份标识(包括动态库编号ID和name)注册到单实例算法管理组件中,单实例算法管理组件通过地图(map)管理动态库编号ID与算法动态库实例对象的映射关系。
使用者调用算法动态库时,只需调用单实例算法管理组件的get接口传入动态库编号ID来获取算法动态库的实例对象,再调用算法动态库的业务处理函数得到算法动态库计算的输出结果。此外,单实例算法管理组件还提供算法动态库实例对象的遍历接口(比如first、next等)。
单实例算法管理组件的算法动态库文件的加载过程如图5所示。首先遍历指定目录下的算法动态库文件,在遍历的每一个循环体中,先加载算法动态库,再解析算法动态库的ID,登记算法动态库信息,算法动态库全部遍历后动态库加载过程结束。
多实例算法管理组件在算法动态库加载后,不自动创建算法动态库的实例对象,而是由应用层主动去创建算法动态库实例对象,一个算法动态库可创建多个实例对象,由多实例算法管理组件管理。
使用者首先定义算法动态库的业务接口,在进行算法动态库的实现时运行算法动态库的业务接口和管理接口,管理接口配置三个入口函数:create、destroy和identity(获取算法动态库的ID)。
函数接口原型如下:
系统运行时,调用多实例算法管理组件的加载(load)接口将算法动态库加载到系统中,多实例算法管理组件内部会通过回调函数获取算法动态库的三个函数(create、destroy和identity函数)地址,并保存算法动态库的create、destroy和identity函数地址,并将算法动态库ID和这3个函数地址注册到多实例算法管理组件中,多实例算法管理组件通过容器管理ID与动态库函数地址的映射关系。此外算法动态库可以自定义参数,在算法动态库加载时,通过调用算法动态库的自定义参数管理接口,将各个算法动态库的实例对象参数(算法动态库往外提供的参数,并且用户可以动态修改这些参数)以格式实例对象名/参数类型/参数名等格式依次发布,供客户端展示。
使用者主动调用多实例算法管理组件的create_obj接口传入ID,来创建实例对象,应用层保存实例对象ID和动态库实例对象的映射关系。此外,多实例算法管理组件还提供实例对象销毁destroy_obj、获取算法动态库名称及根据函数名获取函数地址的接口。
多实例算法管理组件的算法动态库文件的加载过程如图6所示。动态库加载过程分为动态库加载过程和动态库实例启动过程。在前期的动态库加载过程中,首先遍历指定目录下的动态库文件,在遍历的每一个循环体中,先加载算法动态库,再解析动态库ID和登记动态库信息,直至遍历结束。在遍历结束后,再遍历动态库实例配置,在此遍历的每一个循环体中,先创建动态库实例,加载动态库参数,再启动动态库实例,直至遍历结束。
上述的单实例算法管理组件和多实例算法管理组件均支持动态库实时加载和卸载。单实例算法管理组件和多实例算法管理组件的内部配置一个监测线程,该监测线程启动后定时检查文件夹下的文件变动,若发现文件夹下的文件有增加,则调用单实例算法管理组件或多实例算法管理组件的加载接口,将新增的算法动态库加载到系统中。上述的热加载具体流程如图7所示。
动态库加载模块将读取到的算法动态库文件遍历加载到系统中,并将加载的算法动态库文件的信息保存起来统一管理,算法动态库文件的信息主要包含动态库加载的句柄和文件名,加载可以根据过滤条件加载所需的算法动态库文件,默认只加载在本平台使用的动态库。
动态库加载模块提供一系列接口函数供其他模块使用,如加载接口函数,加载动态库成功后的回调函数设置接口函数,根据函数名获取函数地址接口,动态库信息的遍历函数,动态库信息的打印函数等。
动态库文件读取模块用于采用递归方式读取指定路径下的全部算法动态库文件,并将读出的算法动态库文件保存在内存中并进行统一管理,动态库文件读取模块支持跨平台。
动态库文件读取模块提供算法动态库文件的读取接口(read接口),其他模块通过调用动态库文件读取模块的read接口来读取指定路径下的算法动态库文件,动态库文件读取模块也提供获取动态库文件读取模块中的算法动态库文件的遍历接口,动态库加载模块可通过该遍历接口获得算法动态库文件。
尽管为使解释简单化将上述方法图示并描述为一系列动作,但是应理解并领会,这些方法不受动作的次序所限,因为根据一个或多个实施例,一些动作可按不同次序发生和/或与来自本文中图示和描述或本文中未图示和描述但本领域技术人员可以理解的其他动作并发地发生。
本领域技术人员将进一步领会,结合本文中所公开的实施例来描述的各种解说性逻辑板块、模块、电路、和算法步骤可实现为电子硬件、计算机软件、或这两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、框、模块、电路、和步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员对于每种特定应用可用不同的方式来实现所描述的功能性,但这样的实现决策不应被解读成导致脱离了本发明的范围。
结合本文所公开的实施例描述的各种解说性逻辑板块、模块、和电路可用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其设计成执行本文所描述功能的任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,该处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如DSP与微处理器的组合、多个微处理器、与DSP核心协作的一个或多个微处理器、或任何其他此类配置。
结合本文中公开的实施例描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中体现。软件模块可驻留在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM、或本领域中所知的任何其他形式的存储介质中。示例性存储介质耦合到处理器以使得该处理器能从/向该存储介质读取和写入信息。在替换方案中,存储介质可以被整合到处理器。处理器和存储介质可驻留在ASIC中。ASIC可驻留在用户终端中。在替换方案中,处理器和存储介质可作为分立组件驻留在用户终端中。
在一个或多个示例性实施例中,所描述的功能可在硬件、软件、固件或其任何组合中实现。如果在软件中实现为计算机程序产品,则各功能可以作为一条或更多条指令或代码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,其包括促成计算机程序从一地向另一地转移的任何介质。存储介质可以是能被计算机访问的任何可用介质。作为示例而非限定,这样的计算机可读介质可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、或能被用来携带或存储指令或数据结构形式的合意程序代码且能被计算机访问的任何其它介质。任何连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)、或诸如红外、无线电、以及微波之类的无线技术从web网站、服务器、或其它远程源传送而来,则该同轴电缆、光纤电缆、双绞线、DSL、或诸如红外、无线电、以及微波之类的无线技术就被包括在介质的定义之中。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(CD)、激光碟、光碟、数字多用碟(DVD)、软盘和蓝光碟,其中盘(disk)往往以磁的方式再现数据,而碟(disc)用激光以光学方式再现数据。上述的组合也应被包括在计算机可读介质的范围内。
提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员来说都将是显而易见的,且本文中所定义的普适原理可被应用到其他变体而不会脱离本公开的精神或范围。由此,本公开并非旨在被限定于本文中所描述的示例和设计,而是应被授予与本文中所公开的原理和新颖性特征相一致的最广范围。
Claims (9)
1.一种支持水平扩展的跨平台动态库算法管理系统,其特征在于,系统包括动态库文件读取模块、动态库加载模块、单实例算法管理组件和多实例算法管理组件,单实例算法管理组件和多实例算法管理组件调用动态库加载模块,动态库加载模块调用动态库文件读取模块,其中:
动态库文件读取模块,用于读取指定路径下的算法动态库文件并保存在内存中;
动态库加载模块,用于从内存中将读取到的算法动态库文件加载到系统中并保存加载后的算法动态库文件的信息;
单实例算法管理组件,用于在算法动态库被动态库加载模块加载后自动创建一个实例对象,由单实例算法管理组件管理并供应用层直接调用;
多实例算法管理组件,用于在算法动态库被动态库加载模块加载后,不自动创建实例对象而是由应用层主动创建实例对象并由多实例算法管理组件进行管理,其中一个算法动态库可创建多个实例对象。
2.根据权利要求1所述的支持水平扩展的跨平台动态库算法管理系统,其特征在于,动态库文件读取模块提供动态库文件的读取接口来供其他模块调用以读取指定路径下的算法动态库文件;动态库文件读取模块还提供动态库文件的遍历接口来供动态库加载模块调用来获得算法动态库文件。
3.根据权利要求1所述的支持水平扩展的跨平台动态库算法管理系统,其特征在于,动态库加载模块中保存的算法动态库文件的信息包括动态库加载的句柄和文件名。
4.根据权利要求1所述的支持水平扩展的跨平台动态库算法管理系统,其特征在于,动态库加载模块还根据过滤条件加载所需的算法动态库文件。
5.根据权利要求1所述的支持水平扩展的跨平台动态库算法管理系统,其特征在于,单实例算法管理组件支持模板化接口。
6.根据权利要求1所述的支持水平扩展的跨平台动态库算法管理系统,其特征在于,单实例算法管理组件包括算法动态库的业务接口和管理接口,其中管理接口配置3个入口函数,分别是创建函数、销毁函数和识别函数,创建函数用于创建算法动态库的实例对象,销毁函数用于销毁算法动态库的实例对象,识别函数用于获取算法动态库的身份标识。
7.根据权利要求6所述的支持水平扩展的跨平台动态库算法管理系统,其特征在于,单实例算法管理组件对算法动态库文件的加载配置为如下的处理:遍历指定目录下的动态库文件,在遍历的每一个循环体中,先加载算法动态库,再解析算法动态库的动态库编号,登记算法动态库信息,动态库文件全部遍历后动态库加载过程结束。
8.根据权利要求1所述的支持水平扩展的跨平台动态库算法管理系统,其特征在于,多实例算法管理组件对算法动态库文件的加载配置为如下的处理:加载过程包括动态库加载过程和动态库实例启动过程;在前期的动态库加载过程中,首先遍历指定目录下的动态库文件,在遍历的每一个循环体中,先加载算法动态库,再解析动态库ID和登记动态库信息,直至遍历结束;再遍历动态库实例配置,在此遍历的每一个循环体中,先创建动态库实例,加载动态库参数,再启动动态库实例,直至遍历结束。
9.根据权利要求1所述的支持水平扩展的跨平台动态库算法管理系统,其特征在于,单实例算法管理组件和多实例算法管理组件均支持动态库实时加载和卸载,其中在单实例算法管理组件和多实例算法管理组件的内部配置一个监测线程,该监测线程启动后定时检查指定目录下的文件变动,若发现有文件新增,则调用单实例算法管理组件或多实例算法管理组件的加载接口将新增的算法动态库加载到系统中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010637327.5A CN112114778B (zh) | 2020-07-03 | 2020-07-03 | 一种支持水平扩展的跨平台动态库算法管理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010637327.5A CN112114778B (zh) | 2020-07-03 | 2020-07-03 | 一种支持水平扩展的跨平台动态库算法管理系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112114778A true CN112114778A (zh) | 2020-12-22 |
CN112114778B CN112114778B (zh) | 2024-04-02 |
Family
ID=73799710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010637327.5A Active CN112114778B (zh) | 2020-07-03 | 2020-07-03 | 一种支持水平扩展的跨平台动态库算法管理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112114778B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114064155A (zh) * | 2022-01-17 | 2022-02-18 | 深圳市华付信息技术有限公司 | 基于容器的算法调用方法、装置、设备及存储介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040117805A1 (en) * | 2002-12-12 | 2004-06-17 | Czajkowski Grzegorz J | Method of reducing interference among applications co-located in a process when using dynamic libraries |
CN101571801A (zh) * | 2008-04-28 | 2009-11-04 | 鸿富锦精密工业(深圳)有限公司 | 业务扩展系统及方法 |
CN102393817A (zh) * | 2011-06-28 | 2012-03-28 | 浪潮集团山东通用软件有限公司 | 一种通过配置在运行时动态创建对象实例方法 |
CN102520967A (zh) * | 2011-12-28 | 2012-06-27 | 深圳市融创天下科技股份有限公司 | 一种创建与使用移动平台插件的方法、系统和移动终端 |
CN103761136A (zh) * | 2014-02-25 | 2014-04-30 | 上海斐讯数据通信技术有限公司 | 一种基于插件的数据模型动态加载的方法 |
CN104424002A (zh) * | 2013-09-10 | 2015-03-18 | 中国科学院声学研究所 | 一种基于插件机制的动态加载组件方法和系统 |
CN106506246A (zh) * | 2016-12-28 | 2017-03-15 | 瑞斯康达科技发展股份有限公司 | 光网络单元、其动态扩展管理功能的方法及gpon系统 |
US20170132345A1 (en) * | 2014-02-12 | 2017-05-11 | Synopsys, Inc. | Dynamically Loaded System-Level Simulation |
CN106775656A (zh) * | 2016-11-28 | 2017-05-31 | 江西金格科技股份有限公司 | 一种基于多智能密钥盘的调度方法 |
CN107408052A (zh) * | 2015-04-10 | 2017-11-28 | 谷歌公司 | 共享对象层级上的二进制转换 |
CN108108119A (zh) * | 2016-11-25 | 2018-06-01 | 中兴通讯股份有限公司 | 一种可扩展的存储集群事物的配置方法及装置 |
CN108829465A (zh) * | 2018-06-27 | 2018-11-16 | 北京计算机技术及应用研究所 | 一种基于直接读写flash的本地动态加载系统及方法 |
CN110750545A (zh) * | 2019-09-03 | 2020-02-04 | 北京字节跳动网络技术有限公司 | 动态库热更新方法、装置、介质和设备 |
CN111309290A (zh) * | 2019-11-29 | 2020-06-19 | 上海金融期货信息技术有限公司 | 一种灵活可扩展业务规则矩阵系统 |
-
2020
- 2020-07-03 CN CN202010637327.5A patent/CN112114778B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040117805A1 (en) * | 2002-12-12 | 2004-06-17 | Czajkowski Grzegorz J | Method of reducing interference among applications co-located in a process when using dynamic libraries |
CN101571801A (zh) * | 2008-04-28 | 2009-11-04 | 鸿富锦精密工业(深圳)有限公司 | 业务扩展系统及方法 |
CN102393817A (zh) * | 2011-06-28 | 2012-03-28 | 浪潮集团山东通用软件有限公司 | 一种通过配置在运行时动态创建对象实例方法 |
CN102520967A (zh) * | 2011-12-28 | 2012-06-27 | 深圳市融创天下科技股份有限公司 | 一种创建与使用移动平台插件的方法、系统和移动终端 |
CN104424002A (zh) * | 2013-09-10 | 2015-03-18 | 中国科学院声学研究所 | 一种基于插件机制的动态加载组件方法和系统 |
US20170132345A1 (en) * | 2014-02-12 | 2017-05-11 | Synopsys, Inc. | Dynamically Loaded System-Level Simulation |
CN103761136A (zh) * | 2014-02-25 | 2014-04-30 | 上海斐讯数据通信技术有限公司 | 一种基于插件的数据模型动态加载的方法 |
CN107408052A (zh) * | 2015-04-10 | 2017-11-28 | 谷歌公司 | 共享对象层级上的二进制转换 |
CN108108119A (zh) * | 2016-11-25 | 2018-06-01 | 中兴通讯股份有限公司 | 一种可扩展的存储集群事物的配置方法及装置 |
CN106775656A (zh) * | 2016-11-28 | 2017-05-31 | 江西金格科技股份有限公司 | 一种基于多智能密钥盘的调度方法 |
CN106506246A (zh) * | 2016-12-28 | 2017-03-15 | 瑞斯康达科技发展股份有限公司 | 光网络单元、其动态扩展管理功能的方法及gpon系统 |
CN108829465A (zh) * | 2018-06-27 | 2018-11-16 | 北京计算机技术及应用研究所 | 一种基于直接读写flash的本地动态加载系统及方法 |
CN110750545A (zh) * | 2019-09-03 | 2020-02-04 | 北京字节跳动网络技术有限公司 | 动态库热更新方法、装置、介质和设备 |
CN111309290A (zh) * | 2019-11-29 | 2020-06-19 | 上海金融期货信息技术有限公司 | 一种灵活可扩展业务规则矩阵系统 |
Non-Patent Citations (3)
Title |
---|
PIERCE110110: "c++进阶4:动态库与静态库--函数篇", Retrieved from the Internet <URL:https://blog.csdn.net/Pierce110110/article/details/106228946> * |
SHENG-YU FU ET AL.: "Dynamic translation of structured Loads/Stores and register mapping for architectures with SIMD extensions", LCTES 2017: PROCEEDINGS OF THE 18TH ACM SIGPLAN/SIGBED CONFERENCE ON LANGUAGES, COMPILERS, AND TOOLS FOR EMBEDDED SYSTEMS, 21 June 2017 (2017-06-21) * |
夏义: "基于嵌入式平台的HMI组态软件的设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 06, 15 June 2020 (2020-06-15) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114064155A (zh) * | 2022-01-17 | 2022-02-18 | 深圳市华付信息技术有限公司 | 基于容器的算法调用方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112114778B (zh) | 2024-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111782668B (zh) | 数据结构的读取及更新方法、装置、电子设备 | |
CN108616599B (zh) | 应用服务注册、更新的方法及装置 | |
CN111367659B (zh) | 一种Kubernetes中节点的资源管理方法、设备以及介质 | |
CN110427342B (zh) | 一种创建镜像库的方法、设备及可读介质 | |
CN111309335B (zh) | 插件应用的编译方法、装置及计算机可读存储介质 | |
CN110032568B (zh) | 数据结构的读取及更新方法、装置、电子设备 | |
CN110515795A (zh) | 一种大数据组件的监控方法、装置、电子设备 | |
WO2022156379A1 (zh) | 一种热修复方法及装置 | |
CN112114778B (zh) | 一种支持水平扩展的跨平台动态库算法管理系统 | |
CN111176666B (zh) | 一种bios+me镜像的刷新方法、系统、设备及可读介质 | |
CN116628773A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN113434489B (zh) | 一种实时数据库在线扩容方法、系统、设备及存储介质 | |
CN114003203B (zh) | 一种活动计数变量的维护方法、装置、设备及可读介质 | |
CN111427581B (zh) | 一种实现类型多继承的方法、装置、设备和介质 | |
CN109299125B (zh) | 数据库更新方法及装置 | |
CN109150993B (zh) | 一种获取网络请求切面的方法、终端装置及存储介质 | |
CN114079659A (zh) | 分布式存储系统的服务器、分布式存储系统、数据存储及数据访问的方法和系统 | |
CN111858314A (zh) | 一种对vue进行状态管理的方法、系统、设备及介质 | |
CN113326308B (zh) | 财务数据智能整合方法和装置、以及处理器 | |
US11455358B2 (en) | Data spaces for multi-tenant computing | |
CN112148349B (zh) | 一种跨平台指令及配置统一接口的系统 | |
CN114785847B (zh) | 网络控制软件开发配置方法、终端及存储介质 | |
CN114518844B (zh) | 一种数据处理方法 | |
CN111767330B (zh) | 一种数据交互方法、装置、电子设备及存储介质 | |
CN111722801B (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 |