CN115576599A - 软件开发的配置方法、系统和计算机设备 - Google Patents
软件开发的配置方法、系统和计算机设备 Download PDFInfo
- Publication number
- CN115576599A CN115576599A CN202211267576.5A CN202211267576A CN115576599A CN 115576599 A CN115576599 A CN 115576599A CN 202211267576 A CN202211267576 A CN 202211267576A CN 115576599 A CN115576599 A CN 115576599A
- Authority
- CN
- China
- Prior art keywords
- file
- configuration
- client
- information
- change notification
- 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
Images
Classifications
-
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
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 Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及计算机软件开发领域,提供一种软件开发的配置方法、系统和计算机设备,该方法从发布订阅中间件获取配置变更通知;获取配置变更通知的文件描述信息,客户端根据文件描述信息,得到安全验证信息;向服务器发送文件描述信息,以使得服务器将根据文件描述信息得到的算法验证信息发送给客户端;接收算法验证信息,当安全验证信息与算法验证信息不相同时,向服务器发送文件下载请求,以得到配置文件;将配置文件同步至客户端的文件缓存中;接收应用业务需求,在文件缓存中查找与应用业务需求对应的配置文件,以利用配置文件配置待开发软件。本申请实施例通过轻量级的发布订阅中间件使得业务应用系统不依赖于服务器,能够支持多种应用业务。
Description
技术领域
本申请涉及计算机软件开发技术领域,特别涉及一种软件开发的配置方法、系统和计算机设备。
背景技术
业务应用系统依赖非常多的配置来提升灵活度,从而高效的支持多变的业务。配置内容有很多种,包括各种上下游系统的连接参数、有效信息过滤、安全类、框架类等稳定配置,以及在业务拓展过程中变化的策略类配置。通常采用策略类配置来高效地支持多变的业务,传统的策略类配置采用springboot框架自带的properties配置方法,这种配置方法具有一定的限制,例如首先业务应用系统必须用spring来开发,其次配置的结构必须是yml的。而在应对业务策略剧烈变化时,开发者往往希望自定义配置的结构,采用各种数据库来维护配置,在其支持结构不够灵活时,给业务应用系统引入了重量级实体依赖,系统框架依赖过重。
发明内容
本申请的旨在至少一定程度解决现有技术的问题,提供一种软件开发的配置方法、系统和计算机设备,通过轻量级的发布订阅中间件使得业务应用系统不依赖于服务器,能够支持多种应用业务。
本申请实施例的技术方案如下:
第一方面,本申请提供了一种软件开发的配置方法,应用于客户端,所述方法包括:
从发布订阅中间件获取第一配置变更通知,其中,所述第一配置变更通知由服务器发送给所述发布订阅中间件;
获取所述第一配置变更通知的文件描述信息,所述客户端根据所述文件描述信息,得到所述文件描述信息对应的安全验证信息,其中,所述文件描述信息表征与所述第一配置变更通知对应的配置文件的信息;
向所述服务器发送所述文件描述信息,以使得所述服务器将根据所述文件描述信息得到的算法验证信息发送给所述客户端;
接收所述算法验证信息,在所述安全验证信息与所述算法验证信息不相同的情况下,向所述服务器发送文件下载请求,以得到配置文件;
将所述配置文件同步至所述客户端的文件缓存中;
接收应用业务需求,在所述文件缓存中查找与所述应用业务需求对应的配置文件,以利用所述配置文件配置待开发软件。
根据本申请的一些实施例,所述文件描述信息包括文件名,所述文件名包括业务名、业务功能模块名和版本号;
在所述从发布订阅中间件获取第一配置变更通知之后,所述方法还包括:
根据所述业务名、所述业务功能模块名和所述版本号对所述第一配置变更通知进行过滤,得到第二配置变更通知;
获取所述第二配置变更通知的文件描述信息,所述客户端根据所述第二配置变更通知的文件描述信息,得到所述安全验证信息。
根据本申请的一些实施例,所述将所述配置文件同步至所述客户端的文件缓存中,包括:
利用所述客户端的加载方法选择器建立所述配置文件的文件属性和预设的加载方法之间的映射关系;
在所述配置文件覆盖客户端的配置文件后,根据所述映射关系将所述配置文件加载到所述客户端的文件缓存中。
根据本申请的一些实施例,所述应用业务需求携带文件名信息;
在所述接收应用业务需求之后,所述方法还包括:
根据所述文件名信息中的文件格式得到缓存引用信息,以使得与所述文件缓存中的所述配置文件对应,或者,
根据所述文件名信息中的文件内容进行逻辑转换,以使得与所述文件缓存中的所述配置文件对应。
第二方面,本申请提供了一种软件开发的配置方法,应用于服务器,所述方法包括:
接收前端开发界面发送的推送通知,根据所述推送通知向发布订阅中间件发送第一配置变更通知,以使得客户端从所述发布订阅中间件获取所述第一配置变更通知,其中,所述推送通知通过触发于对推送的点击操作得到;
接收所述客户端发送的文件描述信息,根据所述文件描述信息得到算法验证信息,并将所述算法验证信息发送给所述客户端;
接收所述客户端的下载请求,从文件系统中获取与所述下载请求对应的配置文件,将所述配置文件发送给所述客户端,以使得所述客户端利用所述配置文件配置待开发软件。
根据本申请的一些实施例,所述方法还包括:
接收所述前端开发界面发送的文件操作命令;
根据所述文件操作命令对所述文件系统执行与所述文件操作命令对应的处理操作。
根据本申请的一些实施例,所述配置文件采用三级命名空间,所述三级命名空间包括业务名、业务功能模块名和版本号。
第三方面,本申请提供了一种软件开发的配置系统,包括客户端和服务器,
所述客户端包括:
第一获取模块,用于从发布订阅中间件获取第一配置变更通知,其中,所述第一配置变更通知由服务器发送给所述发布订阅中间件;
第二获取模块,用于获取所述第一配置变更通知的文件描述信息,所述客户端根据所述文件描述信息,得到所述文件描述信息对应的安全验证信息,其中,所述文件描述信息表征与所述第一配置变更通知对应的配置文件的信息;
第一发送模块,用于向所述服务器发送所述文件描述信息,以使得所述服务器将根据所述文件描述信息得到的算法验证信息发送给所述客户端;
第一接收模块,用于接收所述算法验证信息,在所述安全验证信息与所述算法验证信息不相同的情况下,所述第一发送模块还用于向所述服务器发送文件下载请求,以得到配置文件;
文件同步模块,用于将所述配置文件同步至所述客户端的文件缓存中;
第二接收模块,用于接收应用业务需求,业务处理模块用于在所述文件缓存中查找与所述应用业务需求对应的配置文件,以利用所述配置文件配置待开发软件;
所述服务器包括:
第三接收模块,用于接收前端开发界面发送的推送通知,第二发送模块用于根据所述推送通知向发布订阅中间件发送第一配置变更通知,以使得客户端从所述发布订阅中间件获取所述第一配置变更通知,其中,所述推送通知通过触发于对推送的点击操作得到;
第四接收模块,用于接收所述客户端发送的文件描述信息,根据所述文件描述信息得到算法验证信息,第三发送模块用于将所述算法验证信息发送给所述客户端;
所述第四接收模块还用于接收所述客户端的下载请求,文件获取模块用于从文件系统中获取与所述下载请求对应的配置文件,所述第三发送模块还用于将所述配置文件发送给所述客户端,以使得所述客户端利用所述配置文件配置待开发软件。
第四方面,本申请提供了一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被一个或多个所述处理器执行时,使得一个或多个所述处理器执行如上第一方面和第二方面描述的任一项所述方法的步骤。
第五方面,本申请还提供了一种计算机可读存储介质,所述存储介质可被处理器读写,所述存储介质存储有计算机指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上第一方面和第二方面描述的任一项所述方法的步骤。
本申请实施例所提供的技术方案具有如下的有益效果:
本申请实施例提出一种软件开发的配置方法、系统和计算机设备,该软件开发的配置方法包括:从发布订阅中间件获取第一配置变更通知,其中,第一配置变更通知由服务器发送给发布订阅中间件,从轻量级的发布订阅中间件获取配置变更通知而不是直接从服务器端获取,使得客户端与服务器解耦,能够支持多用应用业务,还有利于后续实现通知式的配置;获取第一配置变更通知的文件描述信息,客户端根据文件描述信息,得到文件描述信息对应的安全验证信息,其中,文件描述信息表征与第一配置变更通知对应的配置文件的信息,有利于后续根据安全验证信息确定更新客户端的配置文件;向服务器发送文件描述信息,以使得服务器将根据文件描述信息得到的算法验证信息发送给客户端;接收算法验证信息,在安全验证信息与算法验证信息不相同的情况下,向服务器发送文件下载请求,以得到配置文件,通过进行验证,得到配置文件;将配置文件同步至客户端的文件缓存中;接收应用业务需求,在文件缓存中查找与应用业务需求对应的配置文件,以利用配置文件配置待开发软件,能够支持接收的各种应用业务需求,实现了客制化配置。相对于现有技术在业务应用系统中引入重量级依赖,使得对多变应用业务的配置具有局限性,本申请实施例通过轻量级的发布订阅中间件使得业务应用系统不依赖于服务器,能够高效地支持多种应用业务。
附图说明
图1是本申请的一个实施例提供的软件开发的配置方法的流程示意图;
图2是本申请的另一个实施例提供的软件开发的配置方法的流程示意图;
图3是图1中步骤S150的一个子步骤流程示意图;
图4是本申请的另一个实施例提供的软件开发的配置方法的流程示意图;
图5是本申请的另一个实施例提供的软件开发的配置方法的流程示意图;
图6是本申请的另一个实施例提供的软件开发的配置方法的流程示意图;
图7是本申请的一个实施例提供的软件开发的配置方法的三级命名空间的示意图;
图8是本申请的一个实施例提供的软件开发的配置系统的结构示意图;
图9是本申请实施例提供的计算机设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
相关技术中,开发者针对策略类配置,另外一种做法是把配置文件落到服务器本地自行管理,这种做法开发快,但是应用的部署(比如各种环境下,本地路径的维护)成本高问题多、加载解析配置文件的代码各处散落,维护成本较高。
基于此,本申请实施例提出一种软件开发的配置方法、系统和计算机设备,该软件开发的配置方法包括:从发布订阅中间件获取第一配置变更通知,其中,第一配置变更通知由服务器发送给发布订阅中间件,从轻量级的发布订阅中间件获取配置变更通知而不是直接从服务器端获取,使得客户端与服务器解耦,能够支持多用应用业务,还有利于后续实现通知式的配置;获取第一配置变更通知的文件描述信息,客户端根据文件描述信息,得到文件描述信息对应的安全验证信息,其中,文件描述信息表征与第一配置变更通知对应的配置文件的信息,有利于后续根据安全验证信息确定更新客户端的配置文件;向服务器发送文件描述信息,以使得服务器将根据文件描述信息得到的算法验证信息发送给客户端;接收算法验证信息,在安全验证信息与算法验证信息不相同的情况下,向服务器发送文件下载请求,以得到配置文件,通过进行验证,得到配置文件;将配置文件同步至客户端的文件缓存中;接收应用业务需求,在文件缓存中查找与应用业务需求对应的配置文件,以利用配置文件配置待开发软件,能够支持接收的各种应用业务需求,不局限于某种数据结构,实现了客制化配置。相对于现有技术在业务应用系统中引入重量级依赖,使得对多变应用业务的配置具有局限性,本申请实施例通过轻量级的发布订阅中间件使得业务应用系统不依赖于服务器,能够高效地支持多种应用业务。
需要说明的是,该软件开发的配置方法能够对待开发软件实现通知式的轻量的客制化配置,能够应用于利用JAVA语言进行金融相关的或者医疗相关的软件开发的场景,也能够应用于利用python语言进行金融相关的或者医疗相关的软件开发的场景,还用于利用其它语言进行软件开发的场景,不拘泥于某种数据结构,应用范围较广。该软件开发的配置方法为开发人员节省了配置占用的时间,提高了开发效率。
本申请实施例可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
下面参照附图,对本申请实施例提供的软件开发的配置方法、系统和计算机设备,进行说明。
参见图1,图1示出了本申请实施例提供的软件开发的配置方法的流程示意图。软件开发的配置方法应用于软件开发的配置系统的客户端,该软件开发的配置方法包括但不限于有步骤S110、步骤S120、步骤S130、步骤S140、步骤S150和步骤S160。
步骤S110,从发布订阅中间件获取第一配置变更通知,其中,第一配置变更通知由服务器发送给发布订阅中间件。
在一实施例中,客户端从发布订阅中间件实时获取第一配置变更通知,发布订阅中间件的第一配置变更通知是服务器发送的,在客户端和服务器之间增加了发布订阅中间件,该发布订阅中间件为是轻量级的,能够将客户端与服务器进行解耦,发布订阅中间件负责缓存服务器发来的通知,并分发给订阅者,这样服务器就不依赖具体业务系统,从而实现多种应用业务的配置,有利于实现通知式的轻量的配置。其中,第一配置变更通知为开发人员在前端页面点击推送配置文件变更的通知,前端页面将变更通知发送至服务器,服务器发送给发布订阅中间件,然后分发给订阅者。
步骤S120,获取第一配置变更通知的文件描述信息,客户端根据文件描述信息,得到文件描述信息对应的安全验证信息,其中,文件描述信息表征与第一配置变更通知对应的配置文件的信息。
在一实施例中,根据步骤S110得到的第一配置变更通知,获取其表征与第一配置变更通知对应的配置文件的描述信息,示例性地,包括文件名和对配置文件进行数字签名的信息等。客户端对文件描述信息进行解析,能够得到文件描述信息对应的安全验证信息,该安全验证信息通过MD5()算法对配置文件进行处理,确保信息完整一致,也可以利用其他数字签名算法,这里不作赘述。需要说明的是,客户端对文件描述信息进行解析后,从本地的配置文件中查找与文件描述对应的本地配置文件,安全验证信息也是对本地配置文件进行处理得到的验证信息。通过得到安全验证信息,有利于后续根据验证信息确定是否更新本地配置文件。
在一实施例中,文件描述信息包括文件名,文件名包括业务名、业务功能模块名和版本号,如图2所示,在从发布订阅中间件获取第一配置变更通知之后,软件开发的配置方法还包括但不限于有以下步骤:
步骤S210,根据业务名、业务功能模块名和版本号对第一配置变更通知进行过滤,得到第二配置变更通知。
在一实施例中,客户端的配置文件采用三级命名空间,根据业务名能够得到对应的业务,业务功能模块名为应用场景下业务的功能模块名,再结合版本号,可以得到第一配置变更通知对应的配置文件,根据业务名、业务功能模块名和版本号对第一配置变更通知进行过滤,过滤无关的配置变更通知。示例性地,第一变更通知为查看通知,指示配置文件未发生变化则进行过滤,从而得到第二配置变更通知,有利于后续得到安全验证信息。其中,第二配置变更通知能够与配置文件相对应,通过对第一配置变更通知先进行过滤处理得到的。
步骤S220,获取第二配置变更通知的文件描述信息,客户端根据第二配置变更通知的文件描述信息,得到安全验证信息。
在一实施例中,根据步骤S210得到的第二配置变更通知,获取其表征与第二配置变更通知对应的配置文件的描述信息。客户端对文件描述信息进行解析,能够得到文件描述信息对应的安全验证信息,该安全验证信息通过MD5()算法对配置文件进行处理,确保信息完整一致,也可以利用其他数字签名算法,这里不作赘述。需要说明的是,客户端对文件描述信息进行解析后,从本地的配置文件中查找与文件描述对应的本地配置文件,安全验证信息也是对本地配置文件进行处理得到的验证信息。通过得到安全验证信息,有利于后续根据验证信息确定是否更新本地配置文件。
步骤S130,向服务器发送文件描述信息,以使得服务器将根据文件描述信息得到的算法验证信息发送给客户端。
在一实施例中,根据步骤S120或者步骤S220得到的文件描述信息,将文件描述信息发送给服务器,以使得服务器将根据文件描述信息得到的算法验证信息发送给客户端。能够从服务器获取算法验证信息,有利于后续进行信息验证。
步骤S140,接收算法验证信息,在安全验证信息与算法验证信息不相同的情况下,向服务器发送文件下载请求,以得到配置文件。
在一实施例中,接收服务器发送的算法验证信息,将安全验证信息与算法验证信息进行对比,在安全验证信息与算法验证信息不相同的情况下,说明配置变更通知对应的客户端的配置文件和服务器的配置文件不同,需要更新客户端的配置文件,向服务器发送文件下载请求,向服务器下载得到配置文件。通过得到配置文件,有利于后续更新客户端的配置文件。
步骤S150,将配置文件同步至客户端的文件缓存中。
在一实施例中,根据步骤S140得到的配置文件,客户端利用该配置文件更新本地的配置文件,并将该配置文件同步到文件缓存中,以方便调用,进而利用配置文件进行业务配置。
如图3所示,将配置文件同步至客户端的文件缓存中,包括但不限于有以下步骤:
步骤S151,利用客户端的加载方法选择器建立配置文件的文件属性和预设的加载方法之间的映射关系。
在一实施例中,通过下载得到配置文件,客户端的加载方法选择器建立配置文件的属性和预设的加载方法之间的映射关系,当配置文件进行变更时,就会触发预设的加载方法。其中,预设的加载方法可以为对象的加载方式,也可以为数组的加载方式,还可以为矩阵的加载方式,这里不作赘述。
步骤S152,在配置文件覆盖客户端的配置文件后,根据映射关系将配置文件加载到客户端的文件缓存中。
在一实施例中,在配置文件覆盖客户端的配置文件后,使得配置文件变更,根据映射关系,触发了加载方法选择器的加载方法将配置文件加载到客户端的文件缓存中,有利于后续能够快速得到配置文件以进行配置。步骤S110至步骤S150为文件同步的推模式,该模式更加简捷。
在另一实施例中,可以采用文件同步的拉模式,客户端不向服务器发送文件下载请求,而是服务器在接收到推送通知时,暴露下载文件,使得客户端通过加载方法直接对文件进行加载,上述文件同步的拉模式能够实现灵活控制。
步骤S160,接收应用业务需求,在文件缓存中查找与应用业务需求对应的配置文件,以利用配置文件配置待开发软件。
在一实施例中,接收到应用业务需求,根据应用业务需求先在文件缓存中查找对应的配置文件,查找到则利用该配置文件配置待开发软件;如果在文件缓存中未查找到对应的配置文件,则在客户端存储的配置文件中查找对应的配置文件,利用配置文件配置待开发软件。能够实现多种应用业务需求的配置,节省开发人员时间。
在一实施例中,应用业务需求携带文件名信息,如图4所示,在接收应用业务需求之后,软件开发的配置方法还包括但不限于有以下步骤:
步骤S310,根据文件名信息中的文件格式得到缓存引用信息,以使得与文件缓存中的配置文件对应。
在一实施例中,客户端的缓存接口接收到应用业务需求,对文件名信息中的文件格式进行解析,即提取文件名中的后缀信息,对文件格式进行转换,得到缓存引用信息,以使得与文件缓存中的配置文件对应。示例性地,通过文件名信息为a.json,得到的缓存引用信息为JSONObject对象,根据步骤S151中客户端加载方法选择器,采用加载方法回调接口,能够获取配置文件。
步骤S320,根据文件名信息中的文件内容进行逻辑转换,以使得与文件缓存中的配置文件对应。
在一实施例中,客户端的缓存接口接收到应用业务需求,对文件名信息中的文件内容进行解析,即提取文件名中的名称信息,对文件内容进行转换,以使得与文件缓存中的配置文件对应。示例性地,文件名信息为纯文本的n行字符串,读入格式为ArrayList<String>,得到转换信息,根据步骤S151中客户端加载方法选择器,采用加载方法回调接口,能够获取配置文件。
参见图5,图5示出了本申请实施例提供的软件开发的配置方法的流程示意图。软件开发的配置方法应用于软件开发的配置系统的服务器,该软件开发的配置方法包括但不限于有步骤S410、步骤S420和步骤S430。
步骤S410,接收前端开发界面发送的推送通知,根据推送通知向发布订阅中间件发送第一配置变更通知,以使得客户端从发布订阅中间件获取第一配置变更通知,其中,推送通知通过触发于对推送的点击操作得到。
在一实施例中,开发人员在前端开发界面点击通知推送,前端页面触发于对推送的点击操作向服务器发送推送通知,服务器接收推送通知,并根据推送通知向发布订阅中间件发送第一配置变更通知,以使得客户端从发布订阅中间件获取第一配置变更通知,服务器实现发布通知,客户端订阅通知,从而实现通知式的配置,并且发布订阅中间件将通知分发给订阅者,这样服务器就不依赖具体业务系统。
步骤S420,接收客户端发送的文件描述信息,根据文件描述信息得到算法验证信息,并将算法验证信息发送给客户端。
在一实施例中,根据客户端发送的文件描述信息,服务器对文件描述信息进行解析,从文件系统获取对应的配置文件,对配置文件进行数字签名,得到算法验证信息,并将算法验证信息发送给客户端,有利于客户端确定是否更新配置文件。该算法验证信息通过MD5()算法对配置文件进行处理,确保信息完整一致,也可以利用其他数字签名算法,这里不作赘述。
步骤S430,接收客户端的下载请求,从文件系统中获取与下载请求对应的配置文件,将配置文件发送给客户端,以使得客户端利用配置文件配置待开发软件。
在一实施例中,服务器接收到客户端发送下载请求,得到该下载请求对应的配置文件,从文件系统中获取该配置文件,将配置文件发送给客户端,以使得客户端利用配置文件配置待开发软件。
如图6所示,软件开发的配置方法还包括但不限于有以下步骤:
步骤S510,接收前端开发界面发送的文件操作命令。
在一实施例中,开发人员在前端开发界面上传、删除、查看、下载配置文件,前端页面响应于开发人员对文件的操作向服务器发送文件操作命令,该文件操作指令对应上传、删除、查看、下载配置文件。
步骤S520,根据文件操作命令对文件系统执行与文件操作命令对应的处理操作。
在一实施例中,服务器根据文件操作命令,对文件系统执行与文件操作命令对应的处理操作,通过配置系统的服务器对文件系统的管理,使得配置文件相一致。
在一实施例中,开发人员在前端界面上传了配置文件并点击了变更通知推送,服务器接收前端界面发送的文件操作命令和推送通知,该文件操作命令指示上传新的配置文件,于是服务器将该配置文件存储于文件系统中,根据推送通知向发布订阅中间件发送第一配置变更通知,客户端从发布订阅中间件获取第一配置变更通知,并对第一配置变更通知进行过滤得到第二变更通知,获取第二变更通知的文件描述信息,进行信息验证,当客户端的配置文件与服务器从文件系统得到配置文件不同时,客户端从服务器下载更新的配置文件,利用该配置文件覆盖本地配置文件,将该配置文件加载至文件缓存中,加快文件调用,从而实现业务系统的待开发软件快速配置。
在一实施例中,文件系统具有灾备设计,存放文件的数据实体可以是多个nas盘相互做副本,多副本可以为多副本实时同步,实时响应文件对应的最新内容,也可以只保证一个副本的实时性,其他副本以其他节奏同步数据。
如图7所示,服务器的配置文件的存储采用三级命名空间,三级命名空间包括业务名、业务功能模块名和版本号,其中,业务名表示每个业务的命名,业务功能模块名表示对应的场景下业务的功能模块名,版本号表示为配置文件具有多个版本。示例性地,在配置空间中,包括业务名1和业务名2,业务名1包括业务功能模块名1和业务功能模块名2,业务名2包括业务功能模块名3,业务功能模块名1包括版本号1,业务功能模块名2包括版本号2和版本号3,业务功能模块名3包括版本号4和版本号5,每个版本号都对应有至少一个配置文件,形成了树状结构,各个业务之间相互隔离,支持多个业务应用系统。
参见图8,本申请实施例提供了软件开发的配置系统100,包括客户端110和服务器120,客户端110利用第一获取模块111从发布订阅中间件获取第一配置变更通知,其中,第一配置变更通知由服务器120发送给发布订阅中间件,从轻量级的发布订阅中间件获取配置变更通知而不是直接从服务器120端获取,使得客户端110与服务器解耦,能够支持多用应用业务,还有利于后续实现通知式的配置;通过第二获取模块112获取第一配置变更通知的文件描述信息,客户端110根据文件描述信息,得到文件描述信息对应的安全验证信息,其中,文件描述信息表征与第一配置变更通知对应的配置文件的信息,有利于后续根据安全验证信息确定更新客户端110的配置文件;利用第一发送模块113向服务器120发送文件描述信息,以使得服务器120将根据文件描述信息得到的算法验证信息发送给客户端110;然后通过第一接收模块114接收算法验证信息,在安全验证信息与算法验证信息不相同的情况下,利用第一发送模块113向服务器120发送文件下载请求,以得到配置文件,通过进行验证,得到配置文件;然后通过文件同步模块115将配置文件同步至客户端110的文件缓存中;利用第二接收模块116接收业务应用系统200的应用业务需求,业务处理模块117用于在文件缓存中查找与应用业务需求对应的配置文件,以利用配置文件配置待开发软件,能够支持接收的各种应用业务需求,不局限于某种数据结构,实现了客制化配置;服务器包括:利用第三接收模块121接收前端开发界面400发送的推送通知,通过第二发送模块122根据推送通知向发布订阅中间件发送第一配置变更通知,以使得客户端110从发布订阅中间件获取第一配置变更通知,其中,推送通知通过触发于对推送的点击操作得到;然后通过第四接收模块123接收客户端110发送的文件描述信息,根据文件描述信息得到算法验证信息,利用第三发送模块124将算法验证信息发送给客户端110;通过第四接收模块123接收客户端110的下载请求,随后利用文件获取模块125从文件系统300中获取与下载请求对应的配置文件,通过第三发送模块124将配置文件发送给客户端110,以使得客户端110利用配置文件配置待开发软件。
需要说明的是,第一获取模块111分别与第二获取模块112和发布订阅中间件连接,第二获取模块112与第一发送模块113连接,第一发送模块113分别与第一接收模块114和第四接收模块123连接,第一接收模块114与文件同步模块115连接,文件同步模块115与第二接收模块116连接,第二接收模块116分别与业务处理模块117和业务应用系统200连接,第三接收模块121分别与第二发送模块122和前端开发界面400连接,第二发送模块122分别与发布订阅中间件和第四接收模块123连接,第四接收模块123与第三发送模块124连接,第三发送模块124与文件获取模块125连接,文件获取模块125与文件系统300连接。上述软件开发的配置方法作用于软件开发的配置系统100,该软件开发的配置系统100通过轻量级的发布订阅中间件使得业务应用系统200不依赖于服务器120,能够支持多种应用业务。其中,第一获取模块111为与发布订阅中间件交互的模块,第二获取模块112为文件变更通知解析获取文件描述信息的模块,第一发送模块113和第一接收模块114为与服务器120发生交互的模块,第二接收模块116为与业务应用系统200进行交互的模块,第三接收模块121为与前端开发界面400发生交互的模块,第二发送模块122为与发布订阅中间件发生交互的模块,第四接收模块123和第三发送模块124为与客户端110发生交互的模块。
还需要说明的是,软件开发的配置系统100的客户端110还可以与业务应用系统200集成在一起,使得配置文件获取或者调用更加方便快捷。
本申请实施例描述的实施例是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
图9示出了本申请实施例提供的计算机设备500。该计算机设备500可以是服务器或者终端,该计算机设备500的内部结构包括但不限于:
存储器510,用于存储程序;
处理器520,用于执行存储器510存储的程序,当处理器520执行存储器510存储的程序时,处理器520用于执行上述的软件开发的配置方法。
处理器520和存储器510可以通过总线或者其他方式连接。
存储器510作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序,如本申请任意实施例描述的软件开发的配置方法。处理器520通过运行存储在存储器510中的非暂态软件程序以及指令,从而实现上述的软件开发的配置方法。
存储器510可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储执行上述的软件开发的配置方法。此外,存储器510可以包括高速随机存取存储器,还可以包括非暂态存储器,比如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器510可选包括相对于处理器520远程设置的存储器,这些远程存储器可以通过网络连接至该处理器520。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现上述的软件开发的配置方法所需的非暂态软件程序以及指令存储在存储器510中,当被一个或者多个处理器520执行时,执行本申请任意实施例提供的软件开发的配置方法。
本申请实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,计算机可执行指令用于执行上述的软件开发的配置方法。
在一实施例中,该存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个控制处理器520执行,比如,被上述计算机设备500中的一个处理器520执行,可使得上述一个或多个处理器520执行本申请任意实施例提供的软件开发的配置方法。
以上所描述的实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包括计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上是对本申请的较佳实施进行了具体说明,但本申请并不局限于上述实施方式,熟悉本领域的技术人员在不违背本申请精神的。共享条件下还可作出种种等同的变形或替换,这些等同的变形或替换均包括在本申请权利要求所限定的范围内。
Claims (10)
1.一种软件开发的配置方法,其特征在于,应用于客户端,所述方法包括:
从发布订阅中间件获取第一配置变更通知,其中,所述第一配置变更通知由服务器发送给所述发布订阅中间件;
获取所述第一配置变更通知的文件描述信息,所述客户端根据所述文件描述信息,得到所述文件描述信息对应的安全验证信息,其中,所述文件描述信息表征与所述第一配置变更通知对应的配置文件的信息;
向所述服务器发送所述文件描述信息,以使得所述服务器将根据所述文件描述信息得到的算法验证信息发送给所述客户端;
接收所述算法验证信息,在所述安全验证信息与所述算法验证信息不相同的情况下,向所述服务器发送文件下载请求,以得到配置文件;
将所述配置文件同步至所述客户端的文件缓存中;
接收应用业务需求,在所述文件缓存中查找与所述应用业务需求对应的配置文件,以利用所述配置文件配置待开发软件。
2.根据权利要求1所述的方法,其特征在于,所述文件描述信息包括文件名,所述文件名包括业务名、业务功能模块名和版本号;
在所述从发布订阅中间件获取第一配置变更通知之后,所述方法还包括:
根据所述业务名、所述业务功能模块名和所述版本号对所述第一配置变更通知进行过滤,得到第二配置变更通知;
获取所述第二配置变更通知的文件描述信息,所述客户端根据所述第二配置变更通知的文件描述信息,得到所述安全验证信息。
3.根据权利要求1所述的方法,其特征在于,所述将所述配置文件同步至所述客户端的文件缓存中,包括:
利用所述客户端的加载方法选择器建立所述配置文件的文件属性和预设的加载方法之间的映射关系;
在所述配置文件覆盖客户端的配置文件后,根据所述映射关系将所述配置文件加载到所述客户端的文件缓存中。
4.根据权利要求1所述的方法,其特征在于,所述应用业务需求携带文件名信息;
在所述接收应用业务需求之后,所述方法还包括:
根据所述文件名信息中的文件格式得到缓存引用信息,以使得与所述文件缓存中的所述配置文件对应,或者,
根据所述文件名信息中的文件内容进行逻辑转换,以使得与所述文件缓存中的所述配置文件对应。
5.一种软件开发的配置方法,其特征在于,应用于服务器,所述方法包括:
接收前端开发界面发送的推送通知,根据所述推送通知向发布订阅中间件发送第一配置变更通知,以使得客户端从所述发布订阅中间件获取所述第一配置变更通知,其中,所述推送通知通过触发于对推送的点击操作得到;
接收所述客户端发送的文件描述信息,根据所述文件描述信息得到算法验证信息,并将所述算法验证信息发送给所述客户端;
接收所述客户端的下载请求,从文件系统中获取与所述下载请求对应的配置文件,将所述配置文件发送给所述客户端,以使得所述客户端利用所述配置文件配置待开发软件。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
接收所述前端开发界面发送的文件操作命令;
根据所述文件操作命令对所述文件系统执行与所述文件操作命令对应的处理操作。
7.根据权利要求5所述的方法,其特征在于,所述配置文件采用三级命名空间,所述三级命名空间包括业务名、业务功能模块名和版本号。
8.一种软件开发的配置系统,其特征在于,包括客户端和服务器,
所述客户端包括:
第一获取模块,用于从发布订阅中间件获取第一配置变更通知,其中,所述第一配置变更通知由服务器发送给所述发布订阅中间件;
第二获取模块,用于获取所述第一配置变更通知的文件描述信息,所述客户端根据所述文件描述信息,得到所述文件描述信息对应的安全验证信息,其中,所述文件描述信息表征与所述第一配置变更通知对应的配置文件的信息;
第一发送模块,用于向所述服务器发送所述文件描述信息,以使得所述服务器将根据所述文件描述信息得到的算法验证信息发送给所述客户端;
第一接收模块,用于接收所述算法验证信息,在所述安全验证信息与所述算法验证信息不相同的情况下,所述第一发送模块还用于向所述服务器发送文件下载请求,以得到配置文件;
文件同步模块,用于将所述配置文件同步至所述客户端的文件缓存中;
第二接收模块,用于接收应用业务需求,业务处理模块用于在所述文件缓存中查找与所述应用业务需求对应的配置文件,以利用所述配置文件配置待开发软件;
所述服务器包括:
第三接收模块,用于接收前端开发界面发送的推送通知,第二发送模块用于根据所述推送通知向发布订阅中间件发送第一配置变更通知,以使得客户端从所述发布订阅中间件获取所述第一配置变更通知,其中,所述推送通知通过触发于对推送的点击操作得到;
第四接收模块,用于接收所述客户端发送的文件描述信息,根据所述文件描述信息得到算法验证信息,第三发送模块用于将所述算法验证信息发送给所述客户端;
所述第四接收模块还用于接收所述客户端的下载请求,文件获取模块用于从文件系统中获取与所述下载请求对应的配置文件,所述第三发送模块还用于将所述配置文件发送给所述客户端,以使得所述客户端利用所述配置文件配置待开发软件。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被一个或多个所述处理器执行时,使得一个或多个所述处理器执行如权利要求1至4、5至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述存储介质可被处理器读写,所述存储介质存储有计算机指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至4、5至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211267576.5A CN115576599A (zh) | 2022-10-17 | 2022-10-17 | 软件开发的配置方法、系统和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211267576.5A CN115576599A (zh) | 2022-10-17 | 2022-10-17 | 软件开发的配置方法、系统和计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115576599A true CN115576599A (zh) | 2023-01-06 |
Family
ID=84585979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211267576.5A Pending CN115576599A (zh) | 2022-10-17 | 2022-10-17 | 软件开发的配置方法、系统和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115576599A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115795485A (zh) * | 2023-02-07 | 2023-03-14 | 山东可信云信息技术研究院 | 可信云环境下安全交付软件方法、系统、设备及存储介质 |
CN116680012A (zh) * | 2023-08-01 | 2023-09-01 | 浙江春风动力股份有限公司 | 工业软件配置管理系统及方法 |
-
2022
- 2022-10-17 CN CN202211267576.5A patent/CN115576599A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115795485A (zh) * | 2023-02-07 | 2023-03-14 | 山东可信云信息技术研究院 | 可信云环境下安全交付软件方法、系统、设备及存储介质 |
CN116680012A (zh) * | 2023-08-01 | 2023-09-01 | 浙江春风动力股份有限公司 | 工业软件配置管理系统及方法 |
CN116680012B (zh) * | 2023-08-01 | 2023-10-24 | 浙江春风动力股份有限公司 | 工业软件配置管理系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107861686B (zh) | 文件存储方法、服务端和计算机可读存储介质 | |
CN115576599A (zh) | 软件开发的配置方法、系统和计算机设备 | |
US11032140B2 (en) | Using a template to update a stack of resources | |
CN109725909B (zh) | 代码文件打包部署方法、持续集成服务器及系统 | |
CN101689182B (zh) | 用于分布式文件系统的高效更新 | |
CN102833350A (zh) | WebApp更新的处理方法和处理装置 | |
CN111143382B (zh) | 数据处理方法、系统和计算机可读存储介质 | |
CN103645951A (zh) | 一种跨平台的移动数据管理系统及其方法 | |
KR20100033966A (ko) | 서버 지원형 피어-투-피어 동기화 | |
WO2012151993A1 (zh) | 业务推送方法和装置 | |
CN103312489A (zh) | 一种终端与服务器进行同步的方法和装置 | |
CN103841180A (zh) | 一种基于操作指令的网络数据同步方法、装置、终端设备和服务器 | |
CN113656194A (zh) | 对账结果数据的通知方法、装置、电子装置及存储介质 | |
CN109240982B (zh) | 文件分发方法及系统及存储介质 | |
CN113596087A (zh) | 应用升级方法、装置及计算机可读存储介质 | |
CN107291938B (zh) | 订单查询系统及方法 | |
US20180225105A1 (en) | Mechanism for customizing multiple computing devices | |
EP3321796A1 (en) | Multi-platform interface framework | |
CN110300140A (zh) | 用于云分发网络中内容更新的方法、刷新客户端及网络节点 | |
CN114461424A (zh) | 单元化部署架构下的单元间服务发现方法、装置及系统 | |
CN115525440A (zh) | 微服务调用数据处理方法、装置、介质及设备 | |
CN113761075A (zh) | 切换数据库的方法、装置、设备和计算机可读介质 | |
CN106407320B (zh) | 文件处理方法、装置及系统 | |
US20240012835A1 (en) | Synchronizing changes in a distributed system with intermittent connectivity | |
CN113315801B (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 |