【技术实现步骤摘要】
一种支持水平扩展的跨平台动态库算法管理系统
本专利技术涉及一种算法管理系统,具体涉及一种能够支持水平扩展的跨平台的动态库算法管理系统,可应用于金融软件领域。
技术介绍
金融交易软件有很多复杂业务需要处理,业务计算通常会涉及到各类算法。一方面,各类业务所使用的算法的接口各不相同;另一方面,对于每一类业务计算通常会有多种算法实现。为了做到将算法实现和业务流程解耦合,通常会将算法实现做成动态链接库,业务进程在运行时动态加载这些算法动态库,以实现算法水平扩展。因此在金融软件中,对动态库算法的管理尤为重要。在动态库算法中,通常是通过一个C++类来实现算法逻辑,业务进程加载动态库算法后创建这个类的对象(称为“实例对象”),调用对象的接口来进行计算,在具体业务实现中通常有以下两个典型应用场景。1.典型应用场景1,如图1所示,一个业务处理模块中有3类业务需要处理,每一类业务可以用不同的算法实现,如业务1包含三种算法实现(即三种动态库算法)。而在整个进程内,对于每种动态库算法,只存在一个实例对象。2.典型应用场景2,如 ...
【技术保护点】
1.一种支持水平扩展的跨平台动态库算法管理系统,其特征在于,系统包括动态库文件读取模块、动态库加载模块、单实例算法管理组件和多实例算法管理组件,单实例算法管理组件和多实例算法管理组件调用动态库加载模块,动态库加载模块调用动态库文件读取模块,其中:/n动态库文件读取模块,用于读取指定路径下的算法动态库文件并保存在内存中;/n动态库加载模块,用于从内存中将读取到的算法动态库文件加载到系统中并保存加载后的算法动态库文件的信息;/n单实例算法管理组件,用于在算法动态库被动态库加载模块加载后自动创建一个实例对象,由单实例算法管理组件管理并供应用层直接调用;/n多实例算法管理组件,用于 ...
【技术特征摘要】
1.一种支持水平扩展的跨平台动态库算法管理系统,其特征在于,系统包括动态库文件读取模块、动态库加载模块、单实例算法管理组件和多实例算法管理组件,单实例算法管理组件和多实例算法管理组件调用动态库加载模块,动态库加载模块调用动态库文件读取模块,其中:
动态库文件读取模块,用于读取指定路径下的算法动态库文件并保存在内存中;
动态库加载模块,用于从内存中将读取到的算法动态库文件加载到系统中并保存加载后的算法动态库文件的信息;
单实例算法管理组件,用于在算法动态库被动态库加载模块加载后自动创建一个实例对象,由单实例算法管理组件管理并供应用层直接调用;
多实例算法管理组件,用于在算法动态库被动态库加载模块加载后,不自动创建实例对象而是由应用层主动创建实例对象并由多实例算法管理组件进行管理,其中一个算法动态库可创建多个实例对象。
2.根据权利要求1所述的支持水平扩展的跨平台动态库算法管理系统,其特征在于,动态库文件读取模块提供动态库文件的读取接口来供其他模块调用以读取指定路径下的算法动态库文件;动态库文件读取模块还提供动态库文件的遍历接口来供动态库加载模块调用来获得算法动态库文件。
3.根据权利要求1所述的支持水平扩展的跨平台动态库算法管理系统,其特征在于,动态库加载模块中保存的算法动态库文件的信息包括动态库加载的句柄和文件名。
4.根据权利要求1所述的支持水平扩展的跨平台动态库算法管理系统,其特征在于,动态库加载模块还根据过滤条件加载所需的算法动态库文件。
5.根据权利要求1所述的支持水平扩展的跨平台动态库算法管理系统,其特征在于,单实例算法管理组件支持模板化接口。
...
【专利技术属性】
技术研发人员:张海荣,李思昌,方义,史光伟,
申请(专利权)人:上海金融期货信息技术有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。