CN117149458A - 一种基于sdk的三方数据调用方法及系统 - Google Patents
一种基于sdk的三方数据调用方法及系统 Download PDFInfo
- Publication number
- CN117149458A CN117149458A CN202311102894.0A CN202311102894A CN117149458A CN 117149458 A CN117149458 A CN 117149458A CN 202311102894 A CN202311102894 A CN 202311102894A CN 117149458 A CN117149458 A CN 117149458A
- Authority
- CN
- China
- Prior art keywords
- sdk
- configuration
- calling
- module
- party
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000004806 packaging method and process Methods 0.000 claims abstract description 33
- 238000010276 construction Methods 0.000 claims abstract description 10
- 238000013461 design Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 11
- 239000011148 porous material Substances 0.000 claims description 10
- 238000012856 packing Methods 0.000 claims description 6
- 230000007246 mechanism Effects 0.000 claims description 5
- 230000001419 dependent effect Effects 0.000 claims description 4
- 230000005856 abnormality Effects 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 abstract description 23
- 238000011161 development Methods 0.000 abstract description 7
- 238000012423 maintenance Methods 0.000 abstract description 6
- 230000008878 coupling Effects 0.000 abstract description 3
- 238000010168 coupling process Methods 0.000 abstract description 3
- 238000005859 coupling reaction Methods 0.000 abstract description 3
- 238000007726 management method Methods 0.000 description 11
- 239000000243 solution Substances 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005538 encapsulation Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/303—Terminal profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于SDK的三方数据调用方法及系统,所述方法包括以下步骤:对三方数据调用功能进行模块化设计,并封装至独立的SDK模块中;使用构建工具对SDK模块进行打包,生成可重用的Jar文件,并发布至私有仓库;使用配置文件统一维护不同环境的可变内容;通过工具类将配置文件加载到SDK模块中,以供代码动态读取配置内容;将SDK作为依赖引入,并调用SDK提供的接口。本发明通过将三方调用相关功能模块化和封装成SDK,可以将同一套代码复用在不同的业务系统中,避免重复开发,提高代码复用率;使用SDK进行三方调用,可以减少业务系统与三方系统的直接依赖和耦合,降低了维护难度。
Description
技术领域
本发明涉及数据调用技术领域,尤其涉及一种基于SDK的三方数据调用方法及系统。
背景技术
当前,互联网行业发展迅速,各类SaaS软件和开放平台层出不穷,企业应用系统需要集成调用多种第三方服务,以实现业务需求。
但是直接对接这些第三方服务存在以下问题:
第三方服务接口变更频繁,企业应用系统需要频繁适配,维护成本很高;
不同应用系统都需要独立对接第三方服务,导致大量重复劳动。
有鉴于此特提出本发明。
发明内容
本发明要解决的技术问题在于克服现有技术的不足,提供基于SDK的三方数据调用方法及系统。
第一方面,为解决上述技术问题,本发明采用技术方案的基本构思是:
一种基于SDK的三方数据调用方法,所述方法包括以下步骤:
对三方数据调用功能进行模块化设计,并封装至独立的SDK模块中;
使用构建工具对SDK模块进行打包,生成可重用的Jar文件,并发布至私有仓库;
使用配置文件统一维护不同环境的可变内容;
通过工具类将配置文件加载到SDK模块中,以供代码动态读取配置内容;
将SDK作为依赖引入,并调用SDK提供的接口。
在上述任一方案中优选的是,对三方数据调用功能进行模块化设计,并封装至独立的SDK模块中,包括:
根据功能点抽象出接口,并使用面向对象思想定义接口签名;
编写接口实现类,在实现类中封装处理参数映射、请求编解码和签名加密;
使用HTTP客户端向三方系统发送请求,并处理底层工作;
解析返回的响应报文,提取并封装需要的业务数据
在上述任一方案中优选的是,对三方数据调用功能进行模块化设计,并封装至独立的SDK模块中,还包括:
进行异常处理,捕获可能的异常情况,给出明确的业务错误信息;
使用配置文件管理不同环境的可变内容,并通过加载配置将其注入接口实现类。
在上述任一方案中优选的是,使用构建工具对SDK模块进行打包,生成可重用的Jar文件,并发布至私有仓库,包括:
在pom文件中配置SDK的坐标、版本和依赖信息;并使用插件配置jar包打包方式;
配置MANIFEST,将SDK必要信息写入jar包清单;
在pom中配置打包命令,执行生成jar包,并配置仓库地址;
使用deploy将jar包发布到私有仓库,并维护私有仓库,管理jar包版本发布;
在业务系统pom中配置对该jar包的依赖引用,并通过依赖管理工具,自动从私有仓库下载jar包;
给仓库配置访问控制,并给jar包编写使用文档。
在上述任一方案中优选的是,使用配置文件统一维护不同环境的可变内容,包括:
选择配置格式,并在配置文件中定义不同的运行环境;
为每个环境配置三方系统的服务地址,并配置各环境的固定参数和密钥;
定义日志输出配置,并配置缓存参数;
编写不同环境的切换规则,并对关键配置进行加密,;
把配置文件纳入版本控制,并给配置文件配置访问控制权限。
在上述任一方案中优选的是,通过工具类将配置文件加载到SDK模块中,以供代码动态读取配置内容,包括:
提供读取不同格式的配置文件并根据读取到的配置文件,提取配置项并转换为代码中的数据结构;
将解析后的配置内容注入到接口实现类组件中,并将热加载的配置内容进行缓存;
设置热加载机制,当配置文件修改时自动进行重新加载;
管理配置的依赖关系,控制加载顺序,并当加载配置文件失败时,提供默认值或缓存的旧值;
记录配置文件的加载情况和详情,并加载配置时校验调用方权限。
在上述任一方案中优选的是,将SDK作为依赖引入,并调用SDK提供的接口,包括:
在调用方系统的pom文件中添加对SDK的依赖声明,并通过依赖管理工具实现SDK的自动下载;
根据SDK提供的接口定义调用相关方法,并处理SDK接口返回的结果;
捕获SDK抛出的异常,进行翻译或封装后向上抛出,其中,当SDK不可用时,进行容错;
记录接口调用情况,并统计接口调用耗时,生成性能指标。
在调用前校验权限,并提供组件封装SDK调用接口;
对输入参数进行校验。
第二方面,一种基于SDK的三方数据调用系统,包括:
设计模块,用于对三方数据调用功能进行模块化设计,并封装至独立的SDK模块中;
生成模块,用于使用构建工具对SDK模块进行打包,生成可重用的Jar文件,并发布至私有仓库;
使用模块,用于使用配置文件统一维护不同环境的可变内容;
加载模块,用于通过工具类将配置文件加载到SDK模块中,以供代码动态读取配置内容;
调用模块,用于将SDK作为依赖引入,并调用SDK提供的接口。
第三方面,一种基于SDK的三方数据调用设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现所述的基于SDK的三方数据调用方法。
第四方面,一种计算机可读存储介质,所述计算机可读存储介质中存储有程序,该程序被处理器执行时实现任一所述的基于SDK的三方数据调用方法。
与现有技术相比,本申请实施例的基于SDK的三方数据调用方法,通过将三方调用相关功能模块化和封装成SDK,可以将同一套代码复用在不同的业务系统中,避免重复开发,提高代码复用率;使用SDK进行三方调用,可以减少业务系统与三方系统的直接依赖和耦合,降低了维护难度;开发人员不需要关注三方系统的技术细节,直接调用SDK接口即可实现需求,可以缩短开发周期;三方调用逻辑集中在SDK中,业务系统只需要部署SDK即可,简化了部署流程;三方系统升级只需要升级SDK,不需要修改业务系统,降低维护成本;SDK进行了充分测试与稳定性优化,增加了三方调用的稳定性;通过扩展和配置SDK可以实现不同三方系统的无缝切换,不影响业务系统;SDK可以实现访问控制、参数校验等安全措施,提高三方调用安全性;可以提高代码质量,降低系统耦合,提升开发效率和系统稳定性,是值得推荐的架构设计。
下面结合附图对本发明的具体实施方式作进一步详细的描述。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。后文将参照附图以示例性而非限制性的方式详细描述本申请的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分,本领域技术人员应该理解的是,这些附图未必是按比例绘制的,在附图中:
图1为本申请实施例基于SDK的三方数据调用方法的流程示意图。
图2为本申请实施例基于SDK的三方数据调用系统示意图。
需要说明的是,这些附图和文字描述并不旨在以任何方式限制本发明的构思范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念,附图中的元素是示意性的,没有按比例绘制。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
本申请下述实施例以基于SDK的三方数据调用方法为例进行详细说明本申请的方案,但是此实施例并不能限制本申请保护范围。
实施例
如图1所示,本发明提供了一种基于SDK的三方数据调用方法,所述方法包括以下步骤:
步骤1,对三方数据调用功能进行模块化设计,并封装至独立的SDK模块中;
步骤2,使用构建工具对SDK模块进行打包,生成可重用的Jar文件,并发布至私有仓库;
步骤3,使用配置文件统一维护不同环境的可变内容;
步骤4,通过工具类将配置文件加载到SDK模块中,以供代码动态读取配置内容;
步骤5,将SDK作为依赖引入,并调用SDK提供的接口。
在一个具体的实施方式中,通过模块化设计和封装SDK,可以使同一套调用代码被多个系统重复使用,不需要每个系统都自己实现一遍,大大提高了代码的复用性;SDK作为中间层,实现了业务系统与三方系统的解耦,业务系统只依赖SDK接口,降低了对三方系统的依赖,有利于后期替换三方系统;开发人员仅需了解SDK接口,不需要关注三方系统复杂的技术细节,大大提高了调用三方系统的开发效率;三方调用逻辑集中在SDK中,业务系统部署时仅需部署SDK即可,无需关注三方系统的部署、配置等,简化了部署;当三方系统升级时,仅需升级SDK,业务系统无需变更,降低了维护成本;SDK经过充分测试,调用稳定性有保障,避免业务系统直接调用三方系统时由于接口问题导致的稳定性问题;配置文件集中维护各环境的不同参数,实现调用配置化管理,提高了调用的灵活性;SDK封装了访问控制、参数校验等安全措施,提高了三方调用的安全性;通过模块化、封装、配置化等手段,可以有效提高三方系统集成的代码复用性、系统稳定性、开发效率等,是一种值得推荐的三方系统调用设计方案。
在上述实施例中,所述步骤1,对三方数据调用功能进行模块化设计,并封装至独立的SDK模块中,包括:
步骤11,根据功能点抽象出接口,并使用面向对象思想定义接口签名;
步骤12,编写接口实现类,在实现类中封装处理参数映射、请求编解码和签名加密;
步骤13,使用HTTP客户端向三方系统发送请求,并处理底层工作;
步骤14,解析返回的响应报文,提取并封装需要的业务数据
在上述实施例中,所述步骤1,对三方数据调用功能进行模块化设计,并封装至独立的SDK模块中,还包括:
步骤15,进行异常处理,捕获可能的异常情况,给出明确的业务错误信息;
步骤16,使用配置文件管理不同环境的可变内容,并通过加载配置将其注入接口实现类。
在一个具体的实施方式中,通过try catch机制捕获可能的异常,避免程序异常崩溃;提高系统容错性;针对不同异常情况进行处理,而不是直接失败,提高了系统容错能力;封装异常类并包含异常码及信息,输出给用户的异常信息更加明确和友好,定位问题更快,通过异常栈信息可以更快定位并解决异常问题;通过配置文件区分不同的运行环境,如开发环境、测试环境、生产环境等;将参数配置在配置文件中,可以根据需要调整参数,无需修改代码;将配置集中放在配置文件中,无需在代码各处配置,简化配置;通过热加载机制,支持在运行时动态调整配置,无需重启。
在上述实施例中,所述步骤2,使用构建工具对SDK模块进行打包,生成可重用的Jar文件,并发布至私有仓库,包括:
步骤21,在pom文件中配置SDK的坐标、版本和依赖信息;并使用插件配置jar包打包方式;
步骤22,配置MANIFEST,将SDK必要信息写入jar包清单;
步骤23,在pom中配置打包命令,执行生成jar包,并配置仓库地址;
步骤24,使用deploy将jar包发布到私有仓库,并维护私有仓库,管理jar包版本发布;
步骤25,在业务系统pom中配置对该jar包的依赖引用,并通过依赖管理工具,自动从私有仓库下载jar包;
步骤26,给仓库配置访问控制,并给jar包编写使用文档。
在一个具体的实施方式中,通过pom文件集中配置SDK的信息,如坐标、版本、依赖等,方便统一管理;使用maven插件进行标准化的打包流程,生成标准的jar包,确保打包质量;配置MANIFEST,为jar包提供更加完善的元信息,有助于管理和使用;使用maven deploy将jar包发布到私有仓库,实现标准一致的部署;业务系统只需要简单依赖声明即可使用SDK,不需要关注部署细节;依赖管理工具确保自动下载部署,简化流程;配置仓库访问控制,确保jar包安全获取;私有仓库对jar包版本进行集中管理,避免版本混乱;发布流程可追溯,有助于问题定位和审计。
在上述实施例中,所述步骤3,使用配置文件统一维护不同环境的可变内容,包括:
步骤31,选择配置格式,并在配置文件中定义不同的运行环境;
步骤32,为每个环境配置三方系统的服务地址,并配置各环境的固定参数和密钥;
步骤33,定义日志输出配置,并配置缓存参数;
步骤34,编写不同环境的切换规则,并对关键配置进行加密,;
步骤35,把配置文件纳入版本控制,并给配置文件配置访问控制权限。
在一个具体的实施方式中,选择易读易用的配置格式,如XML、YAML、Properti es等,便于进行配置管理;定义不同的运行环境,可以针对每个环境进行个性化配置,实现环境隔离;将这些可变参数集中配置,可以根据需要调整参数,实现调用的灵活性,无需修改代码;日志配置统一管理,可以方便地调整日志级别、输出方式等,不会影响代码;可以通过配置调整缓存类型和缓存时间等,优化系统性能;实现不同环境无缝切换,提高发布和迁移的灵活性;加密保护关键配置信息,提高安全性;方便跟踪配置变更,进行配置审计和回滚;避免关键配置被非法篡改,保证配置的安全性。
在上述实施例中,所述步骤4,通过工具类将配置文件加载到SDK模块中,以供代码动态读取配置内容,包括:
步骤41,提供读取不同格式的配置文件并根据读取到的配置文件,提取配置项并转换为代码中的数据结构;
步骤42,将解析后的配置内容注入到接口实现类组件中,并将热加载的配置内容进行缓存;
步骤43,设置热加载机制,当配置文件修改时自动进行重新加载;
步骤44,管理配置的依赖关系,控制加载顺序,并当加载配置文件失败时,提供默认值或缓存的旧值;
步骤45,记录配置文件的加载情况和详情,并加载配置时校验调用方权限。
在一个具体的实施方式中,可以加载不同格式的配置文件,实现配置的灵活性;将配置解析为代码可用的数据结构,方便代码使用配置;通过注入的方式,解耦配置和代码,实现配置驱动;可以提高性能,避免每次都重新加载配置;实现配置修改的实时生效,无需重启应用;正确加载顺序可以避免配置错误;当配置加载失败时,提供默认值,保证程序正常运行;可以追踪配置加载情况,方便调试和监控;避免非法方调用获取配置,保证配置安全。
在上述实施例中,所述步骤5,将SDK作为依赖引入,并调用SDK提供的接口,包括:
步骤51,在调用方系统的pom文件中添加对SDK的依赖声明,并通过依赖管理工具实现SDK的自动下载;
步骤52,根据SDK提供的接口定义调用相关方法,并处理SDK接口返回的结果;
步骤53,捕获SDK抛出的异常,进行翻译或封装后向上抛出,其中,当SDK不可用时,进行容错;
步骤54,记录接口调用情况,并统计接口调用耗时,生成性能指标。
步骤55,在调用前校验权限,并提供组件封装SDK调用接口;
步骤56,对输入参数进行校验。
在一个具体的实施方式中,使用依赖管理,可以自动下载所需的SDK,简化配置;按照SDK的接口规范进行调用,可以正确使用其功能;对SDK的返回结果进行解析和封装,提供给业务使用;通过异常处理,可以避免调用失败影响业务逻辑;当SDK不可用时,进行降级处理,保证业务功能;生成调用日志,用于调试、监控和统计;统计调用性能指标,用于性能监控;避免非法调用或越权调用SDK接口;保证调用参数正确,避免调用错误;简化业务对SDK的使用,降低学习成本。
如图2所示,本发明还提供了一种基于SDK的三方数据调用系统,包括:
设计模块,用于对三方数据调用功能进行模块化设计,并封装至独立的SDK模块中;
生成模块,用于使用构建工具对SDK模块进行打包,生成可重用的Jar文件,并发布至私有仓库;
使用模块,用于使用配置文件统一维护不同环境的可变内容;
加载模块,用于通过工具类将配置文件加载到SDK模块中,以供代码动态读取配置内容;
调用模块,用于将SDK作为依赖引入,并调用SDK提供的接口。
一种基于SDK的三方数据调用设备也可以与一个或多个外部设备(例如键盘、指向设备、显示器等)通信,还可与一个或者多个使得用户能与该基于SDK的三方数据调用设备交互的设备通信,和/或与使得该基于SDK的三方数据调用设备能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/0)接口进行。并且,基于SDK的三方数据调用设备还可以通过网络适配器与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器通过总线与基于SDK的三方数据调用设备的其它模块通信。应当明白,尽管图中未示出,可以结合基于SDK的三方数据调用设备使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质,例如可以是,但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)-连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种基于SDK的三方数据调用方法,其特征在于,所述方法包括以下步骤:
对三方数据调用功能进行模块化设计,并封装至独立的SDK模块中;
使用构建工具对SDK模块进行打包,生成可重用的Jar文件,并发布至私有仓库;
使用配置文件统一维护不同环境的可变内容;
通过工具类将配置文件加载到SDK模块中,以供代码动态读取配置内容;
将SDK作为依赖引入,并调用SDK提供的接口。
2.根据权利要求1所述的基于SDK的三方数据调用方法,其特征在于,对三方数据调用功能进行模块化设计,并封装至独立的SDK模块中,包括:
根据功能点抽象出接口,并使用面向对象思想定义接口签名;
编写接口实现类,在实现类中封装处理参数映射、请求编解码和签名加密;
使用HTTP客户端向三方系统发送请求,并处理底层工作;
解析返回的响应报文,提取并封装需要的业务数据。
3.根据权利要求2所述的基于SDK的三方数据调用方法,其特征在于:对三方数据调用功能进行模块化设计,并封装至独立的SDK模块中,还包括:
进行异常处理,捕获可能的异常情况,给出明确的业务错误信息;
使用配置文件管理不同环境的可变内容,并通过加载配置将其注入接口实现类。
4.根据权利要求3所述的基于SDK的三方数据调用方法,其特征在于:使用构建工具对SDK模块进行打包,生成可重用的Jar文件,并发布至私有仓库,包括:
在pom文件中配置SDK的坐标、版本和依赖信息;并使用插件配置jar包打包方式;
配置MANIFEST,将SDK必要信息写入jar包清单;
在pom中配置打包命令,执行生成jar包,并配置仓库地址;
使用deploy将jar包发布到私有仓库,并维护私有仓库,管理jar包版本发布;
在业务系统pom中配置对该jar包的依赖引用,并通过依赖管理工具,自动从私有仓库下载jar包;
给仓库配置访问控制,并给jar包编写使用文档。
5.根据权利要求4所述的基于SDK的三方数据调用方法,其特征在于:使用配置文件统一维护不同环境的可变内容,包括:
选择配置格式,并在配置文件中定义不同的运行环境;
为每个环境配置三方系统的服务地址,并配置各环境的固定参数和密钥;
定义日志输出配置,并配置缓存参数;
编写不同环境的切换规则,并对关键配置进行加密,;
把配置文件纳入版本控制,并给配置文件配置访问控制权限。
6.根据权利要求5所述的基于SDK的三方数据调用方法,其特征在于:通过工具类将配置文件加载到SDK模块中,以供代码动态读取配置内容,包括:
提供读取不同格式的配置文件并根据读取到的配置文件,提取配置项并转换为代码中的数据结构;
将解析后的配置内容注入到接口实现类组件中,并将热加载的配置内容进行缓存;
设置热加载机制,当配置文件修改时自动进行重新加载;
管理配置的依赖关系,控制加载顺序,并当加载配置文件失败时,提供默认值或缓存的旧值;
记录配置文件的加载情况和详情,并加载配置时校验调用方权限。
7.根据权利要求6所述的基于SDK的三方数据调用方法,其特征在于:将SDK作为依赖引入,并调用SDK提供的接口,包括:
在调用方系统的pom文件中添加对SDK的依赖声明,并通过依赖管理工具实现SDK的自动下载;
根据SDK提供的接口定义调用相关方法,并处理SDK接口返回的结果;
捕获SDK抛出的异常,进行翻译或封装后向上抛出,其中,当SDK不可用时,进行容错;
记录接口调用情况,并统计接口调用耗时,生成性能指标。
在调用前校验权限,并提供组件封装SDK调用接口;
对输入参数进行校验。
8.一种基于SDK的三方数据调用系统,其特征在于:包括:
设计模块,用于对三方数据调用功能进行模块化设计,并封装至独立的SDK模块中;
生成模块,用于使用构建工具对SDK模块进行打包,生成可重用的Jar文件,并发布至私有仓库;
使用模块,用于使用配置文件统一维护不同环境的可变内容;
加载模块,用于通过工具类将配置文件加载到SDK模块中,以供代码动态读取配置内容;
调用模块,用于将SDK作为依赖引入,并调用SDK提供的接口。
9.一种基于SDK的三方数据调用设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的基于SDK的三方数据调用方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序,该程序被处理器执行时实现如权利要求1-7中任一所述的基于SDK的三方数据调用方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311102894.0A CN117149458A (zh) | 2023-08-29 | 2023-08-29 | 一种基于sdk的三方数据调用方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311102894.0A CN117149458A (zh) | 2023-08-29 | 2023-08-29 | 一种基于sdk的三方数据调用方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117149458A true CN117149458A (zh) | 2023-12-01 |
Family
ID=88883649
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311102894.0A Pending CN117149458A (zh) | 2023-08-29 | 2023-08-29 | 一种基于sdk的三方数据调用方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117149458A (zh) |
-
2023
- 2023-08-29 CN CN202311102894.0A patent/CN117149458A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8555273B1 (en) | Network for updating electronic devices | |
US8984502B2 (en) | Systems and methods for composing or decomposing a composite image for firmware update images | |
Altekar et al. | OPUS: Online Patches and Updates for Security. | |
AU2021206497B2 (en) | Method and apparatus for authority control, computer device and storage medium | |
Bard et al. | Software defined radio: the software communications architecture | |
CA2539433C (en) | Systems and methods for dynamically linking application software into a running operating system kernel | |
CN110214314B (zh) | 操作系统验证 | |
EP3011430A1 (en) | Unifying application log messages using runtime instrumentation | |
CN112148297A (zh) | 一种服务器智能加密打包方法和装置 | |
CN114237960A (zh) | 一种异常信息的提示方法、装置、电子设备及存储介质 | |
Mugarza et al. | Cetratus: A framework for zero downtime secure software updates in safety‐critical systems | |
CN115576649A (zh) | 一种基于行为监控的容器运行时安全检测方法 | |
WO2022250864A1 (en) | Deploying a cloud service based on component dependencies | |
Cassel et al. | Nodemedic: End-to-end analysis of node. js vulnerabilities with provenance graphs | |
Shi et al. | An experience report on producing verifiable builds for large-scale commercial systems | |
Harrand et al. | Automatic diversity in the software supply chain | |
CN117149458A (zh) | 一种基于sdk的三方数据调用方法及系统 | |
CN116107623A (zh) | 一种软件开发方法、装置及电子设备 | |
Gama et al. | Towards dynamic component isolation in a service oriented platform | |
CN111752548A (zh) | 一种sdk嵌入方法及装置、计算机可读存储介质 | |
Di Ruscio et al. | A model‐driven approach to detect faults in FOSS systems | |
Costa et al. | PolEnA: Enforcing fine-grained permission policies in Android | |
Zhang et al. | Programming smart contract with solidity | |
Vecellio et al. | Container services for high confidence software | |
CN118193354A (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 |