首页> 中国专利> 一种基于结构化对象的中心化服务开发方法及设备

一种基于结构化对象的中心化服务开发方法及设备

摘要

本申请公开了一种基于结构化对象的中心化服务开发方法及设备,用以解决现有的开发方法不能够确保程序设计结构的稳定性,且试错成本高的技术问题。方法包括:根据中心化服务中的逻辑对象的结构,对逻辑对象进行序列化处理,构建对应的结构化对象;根据结构化对象中与逻辑对象具有基本关联关系的属性,建立对应的对象索引;根据序列化处理的过程,构建驱动函数,并构建包含对象索引和驱动函数的驱动函数组件。本申请通过上述方法提高了中心化服务开发过程的灵活性,且通过结构化对象将服务中心化部分的设计结构进行拆解和重组,实现了设计结构最大程度的解耦,提高了设计结构的稳定性,并且还能及时排查开发过程中各环节产生的错误,降低了错误成本。

著录项

  • 公开/公告号CN112925771A

    专利类型发明专利

  • 公开/公告日2021-06-08

    原文格式PDF

  • 申请/专利权人 山东爱城市网信息技术有限公司;

    申请/专利号CN202110284234.3

  • 申请日2021-03-17

  • 分类号G06F16/21(20190101);G06F16/22(20190101);

  • 代理机构11716 北京君慧知识产权代理事务所(普通合伙);

  • 代理人吴绍群

  • 地址 250101 山东省济南市高新区浪潮路1036号浪潮大厦S01楼3110室

  • 入库时间 2023-06-19 11:19:16

说明书

技术领域

本申请涉及服务开发技术领域,尤其涉及一种基于结构化对象的中心化服务开发方法及设备。

背景技术

随着国内IT产业的飞速发展,项目系统建设速度和项目系统建设质量成为衡量项目完成度的重要因素,同时也为项目后台的服务开发方法提出了更高的要求。目前常见的项目开发方法有以下两种:

1、瀑布式开发。瀑布式开发严格遵循预先计划的需求分析、设计、编码、集成、测试、维护的步骤顺序进行,各步骤分界清晰,使得开发人员可以专注当前阶段的工作;另外,开发过程中同时会产出文档,易于形成规划性建设标准,适合管理人员对项目进行管控。但是在瀑布式开发过程中,不同流程的人员接触较少,容易形成沟通不畅的问题;另外,开发流程不可逆,如果过程中出现问题或者需求变更,返工成本将是巨大的;此外,项目前期产品难以成型,跟客户沟通意见非常困难,一般在项目生命周期后期时才可发现问题,届时可能难以处理甲乙双方的意见分歧。

2、迭代式开发。迭代式开发过程中更注重交流,能够在短期内产出一个能与甲方沟通的原型,减少沟通错误的成本;并且开发过程更加灵活,能够及时纠正开发过程中的错误,提升试错空间。但是迭代式开发不再重视开发文档,使得项目结束后的迭代和维护工作变得困难,并且有可能存在为追求项目速度和成本不重视项目质量的问题。

而在现有项目开发过程中,不仅需要保证开发速度,还需在后期迭代中不断完善功能和扩大服务范围,最终拓展成一个能够支持海量服务的中心化系统系统,因此需要创建一种更加合适的开发方法来保证系统的快速建设。

发明内容

本申请实施例提供了一种基于结构化对象的中心化服务开发方法及设备,用以解决现有的服务开发方法不能及时处理开发环节中产生的问题,同时也无法确保程序设计结构的稳定性,对项目进程进行灵活控制的技术问题。

一方面,本申请实施例提供了一种基于结构化对象的中心化服务开发方法,包括:根据中心化服务中的逻辑对象的结构,对逻辑对象进行序列化处理,构建对应的结构化对象;根据结构化对象中与逻辑对象具有基本关联关系的属性,建立对应的对象索引;根据序列化处理的过程,构建驱动函数,并构建包含对象索引和驱动函数的驱动函数组件。

在本申请的一种实现方式中,根据中心化服务中的逻辑对象的结构,对逻辑对象进行序列化处理,构建对应的结构化对象,具体包括:对描述逻辑对象结构的数据进行分类,并根据分类结果,确定对应的结构化对象中的对象元数据和对象值数据;根据对象元数据和对象值数据,构建对应的结构化对象。

在本申请的一种实现方式中,分类结果包括描述逻辑对象组织信息的数据、描述逻辑对象属性信息的数据;根据对象元数据和对象值数据,构建对应的结构化对象,具体包括:将描述逻辑对象组织信息的数据作为对象元数据,将描述逻辑对象属性信息的数据作为对象值数据,构建对应的结构化对象。

在本申请的一种实现方式中,根据序列化处理的过程,构建驱动函数,具体包括:根据序列化处理的过程,确定对结构化对象进行反序列化处理的处理逻辑;根据处理逻辑,构建驱动函数。

在本申请的一种实现方式中,方法还包括:根据结构化对象的序列化结构,将结构化对象分类存储至结构化对象库中。

在本申请的一种实现方式中,方法还包括:根据逻辑对象的结构,匹配对应的结构化对象;根据逻辑对象的结构值,确定对象元数据和对象值数据分别对应的数据值。

在本申请的一种实现方式中,方法还包括:将逻辑对象中存在变化的逻辑特征值作为输入逻辑参数,并将输入逻辑参数输入至驱动函数组件中;根据预设的对象索引和输入逻辑参数,从结构化对象库中抽取对应的结构化对象;基于驱动函数,对结构化对象进行组织运算,获取输出逻辑。

在本申请的一种实现方式中,根据预设的对象索引和输入逻辑参数,从结构化对象库中抽取对应的结构化对象,具体包括:根据预设的对象索引,获取对象元数据;根据输入逻辑参数,获取对象元数据对应的对象值数据;抽取对象元数据和对象值数据,得到对应的结构化对象。

在本申请的一种实现方式中,方法还包括:根据逻辑对象类型,确定对应的组织运算规则;针对不同的组织运算规则,进行驱动函数的选型。

另一方面,本申请实施例还提供了一种基于结构化对象的中心化服务开发设备,设备包括:处理器;及存储器,其上存储有可执行代码,当可执行代码被执行时,使得处理器执行如上述的一种基于结构化对象的中心化服务开发方法。

本申请实施例提供的一种基于结构化对象的中心化服务开发方法及设备,至少包括以下有益效果:针对中心化服务中复杂多变的逻辑对象结构,对其进行拆解和重组,并构建结构化对象,这样实现了开发设计结构的解耦,使中心化服务开发过程更加灵活,有利于对开发流程的控制,同时也更便于生成项目运行报告等附属物对开发环节进行排查,减少错误成本;在中心化服务的实际应用过程中,通过构建包含对象索引和驱动函数的驱动函数组件来控制程序逻辑,从而实现用户需求,降低了中心化服务的复杂度。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本申请实施例提供的一种基于结构化对象的中心化服务开发方法流程图;

图2为本申请实施例提供的一种基于结构化对象的中心化开发方法总体架构图;

图3为本申请实施例提供的一种结构化对象结构示意图;

图4为本申请提供的一种基于结构化对象的中心化服务开发方法应用流程图;

图5为本申请实施例提供的一种基于结构化对象的中心化服务开发设备结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请实施例提供了一种基于结构化对象的中心化服务开发方法,通过对中心化服务中的逻辑对象结构进行解耦,进而构建结构化对象,用以解决现有的开发方法不能够确保程序设计结构的稳定性,且试错成本高的技术问题。

下面通过附图对本申请实施例提出的技术方案进行详细的说明。

图1为本申请实施例提供的一种基于结构化对象的中心化服务开发方法流程图。如图1所示,本申请实施例提供的一种基于结构化对象的中心化服务开发方法主要包括以下步骤:

S101、根据中心化服务中的逻辑对象的结构,对逻辑对象进行序列化处理,构建对应的结构化对象。

服务器将中心化服务中的逻辑行为作为对象,并将逻辑对象序列化为对应的结构化对象。结构化对象是根据逻辑对象的结构构建的,具有结构化的属性,且具有实际的逻辑意义。其中,结构化对象包括但不限于以下类型:本地程序对象、数据库对象、远程传输数据对象。

需要说明的是,结构化对象服务于中心化服务,它将复杂多变的逻辑对象转换为有组织的结构化对象,降低了中心化服务的复杂度。

在本申请的一个实施例中,结构化对象由对象元数据和对象值数据组成,而对象元数据和对象值数据都是用于描述逻辑对象结构的。服务器对描述逻辑对象结构的数据进行分类,然后将分类后得到的不同类型数据分别作为对象元数据和对象值数据,并构建对应的结构化对象。

在本申请的一个实施例中,逻辑对象结构是一系列数据的集合,服务器将描述逻辑对象结构的数据分为两类,分别是描述逻辑对象组织信息的数据和描述逻辑对象属性信息的数据。其中,组织信息用来表示结构化对象的共性特征、层级关系、状态等,例如结构化对象在结构中起到的作用、在什么条件下可以使用、是否具有父级结构化对象、是否可用等;属性信息用来描述结构化对象的属性值,例如对象数据值、对象标签、对象状态、对象更新时间等。服务器将描述逻辑对象组织信息的数据作为对象元数据,将描述逻辑对象属性信息的数据作为对象值数据,构建该逻辑对象对应的结构化对象。

需要说明的是,此时构造的结构化对象仅包括结构,而不包括结构值。

在中心化服务中,后台要处理的逻辑复杂且易变,如果在后台开发时仅针对逻辑对象进行相应处理,难度较大。通过将服务中复杂的逻辑对象进行结构的拆解,形成对象元数据和对象值数据,并对拆解结果进行重组,构成结构化对象,这样使得设计结构中复杂多变的部分更易于控制,同时解耦设计也能够使后台开发过程更加灵活。

在本申请的一个实施例中,不同的结构化对象整体架构相同,都是由对象元数据和对象值数据组成的,但是由于每个结构化对象包含一个对象元数据、一个或多个对象值数据,因此各结构化对象的具体结构存在不同。服务器根据不同结构化对象的序列化结构,将其分类存储在结构化对象库中。而结构化对象库增强了后台开发程序的易读性,减少了开发难度,同时,不同的开发人员都可通过结构化对象库确定开发设计结构,降低了沟通成本。

在本申请的一个实施例中,在根据逻辑对象确定对应的结构化对象的结构后,此时的结构化对象只有结构而不包含各结构对应的数据值,因此服务器会对事先构建的结构化对象进行值填充。首先,根据逻辑对象的结构,从结构化对象库中匹配该逻辑对象对应的结构化对象;然后将逻辑对象中的结构值填充至该结构化对象中,确定对象元数据和对象值数据对应的数据值。

S102、根据结构化对象中与逻辑对象具有基本关联关系的属性,建立对应的对象索引。

为了引用相应的结构化对象,服务器将逻辑对象中与结构化对象有基本关联关系的属性作为对象索引,以在后续使用服务时通过对象索引确定逻辑对象对应的结构化对象。对象索引包括多个属性,且不同的对象索引关联不同的结构化对象,这样能够提高结构化对象引用的灵活性。

S103、根据序列化处理的过程,构建驱动函数,并构建包含对象索引和驱动函数的驱动函数组件。

在本申请的一个实施例中,首先,服务器根据序列化处理的过程,确定与之对应的反序列化处理的处理逻辑,该处理逻辑用于将经过序列化处理的结构化对象还原为原本的逻辑对象。然后,服务器根据处理逻辑构建驱动函数。驱动函数具有函数的特点,一个输入值仅对应唯一输出值,并且,驱动函数是无状态的、可重用的、部分开放的,通过构造驱动函数还原逻辑对象,能够达到控制逻辑走向的作用,从而确定指定的输出,满足用户需求。在构建完对象索引和驱动函数后,服务器将其作为组成部分构建驱动函数组件。在服务开发过程中,采用驱动函数组件可以改变程序逻辑,从而根据用户需求获取对应的输出逻辑。

图2为本申请实施例提供的一种基于结构化对象的中心化开发方法总体架构图。如图2所示,本申请实施例提出的一种基于结构化对象的中心化服务开发方法,包括结构化对象和驱动函数组件两部分。结构化对象包括对象元数据和对象值数据,其中,对象元数据用来描述对应的逻辑对象的组织信息,对象值数据用来描述对应的逻辑对象的属性信息。驱动函数组件包括对象索引和驱动函数,对象索引可以引用到对应的对象元数据,而驱动函数则是用来对指定的结构化对象中的对象值数据进行逻辑运算,实现结构化对象的反序列化。结构化对象实际是由逻辑对象拆分的各结构重组而成,这样形成了一个标准化的设计结构,使得服务后台逻辑的开发更易于控制,大幅减少开发迭代过程中因开发人员开发风格不同等因素,造成服务设计结构不稳定、开发沟通成本高的问题。

在本申请的一个实施例中,驱动函数类型包括但不限于本地函数方法、远程接口服务、缓存服务、边缘计算节点。不同的逻辑对象对应的组织运算规则也是不同的,服务器在构建驱动函数时,会根据逻辑对象对应的逻辑确定驱动函数类型。

具体地,根据逻辑对象的类型确定对应的组织运算规则,然后根据不同的组织运算规则,对驱动函数进行选型,以通过驱动函数达到控制逻辑的作用。

图3为本申请实施例提供的一种结构化对象结构示意图。如图3所示,结构化对象包括对象值数据和对象元数据,对象元数据为逻辑对象说明,对象值数据为逻辑对象数据值和对象标签。

在实际中心化服务中,结构化对象一般指的是中心化服务中存在变化的逻辑,也就是说,不同的应用对象在完成某一部分服务逻辑时,处理逻辑是不同的。

例如,以检索城管局的电话号码为例,检索逻辑在不同的城市中是不同的,此时,即可根据检索逻辑构建对应的结构化对象。对象元数据包括检索逻辑说明,即根据城市代码和部门代码匹配对应城市部门的电话号码;对象值数据由城管局电话号码和城市标签组成。

在本申请的一个实施例中,在实际中心化服务中,服务器通过对逻辑对象的结构进行拆分、重组,确定对应的结构化对象结构,并通过该种结构化设计完成服务逻辑的处理。

具体地,当服务后台程序运行到包含驱动函数组件的部分时,服务器将逻辑对象中存在变化的逻辑特征值作为输入逻辑参数,并将其输入到驱动函数组件中。

进一步地,服务器根据预设的对象索引和输入逻辑参数,从结构化对象库中匹配并抽取对应的结构化对象;

更进一步地,在获取结构化对象后,服务器通过驱动函数逻辑,对该结构化对象进行反序列处理,即通过对结构化对象进行组织运算,获取输出逻辑。

例如,在检索城管局的电话号码时,不同的城市和部门对应不同的检索逻辑,因此,将城市代码和部门代码作为输入逻辑参数,输入到驱动函数组件中。为匹配到正确的结构化对象,服务器将检索逻辑说明作为对象索引,并根据对象索引和输入逻辑参数,获取到该城市城管局电话的结构化对象。然后,通过驱动函数,反序列化该结构化对象,从而获取到城管局电话号码。

图4为本申请提供的一种基于结构化对象的中心化服务开发方法应用流程图。如图4所示,用户在使用某一部分的中心化服务时,服务器会根据该部分服务对应的输入逻辑,确定对应的输出逻辑并反馈给用户。在服务后台程序运行时,服务器将逻辑对象中存在变化的逻辑特征值作为输入逻辑参数,并通过输入逻辑参数对应的程序行为将其输入至驱动函数组件中。然后,根据输入逻辑参数及驱动函数组件中的对象索引,检索对应的结构化对象。在将结构化对象抽取至驱动函数组件之后,驱动函数会根据对应的组织运算规则对结构化对象进行组织运算,得到最终的输出结果逻辑。

在本申请的一个实施例中,由于结构化对象是在逻辑对象结构解耦的基础上构建的,因此在抽取结构化对象时,需要对结构化对象中的各结构按序完成匹配,再抽取匹配到的各结构,得到相应的结构化对象。首先,服务器根据预设的对象索引,从结构化对象库中获取对应的对象元数据;然后,根据输入逻辑参数中的程序行为匹配到对象元数据对应的对象值数据;最后,提取对象元数据和对象值数据,获取到结构化对象。

本申请实施例提供的一种基于结构化对象的中心化服务开发方法,并没有通过逻辑对象和结构化对象之间的映射或关联关系来抽取结构化对象,而是根据拆解的逻辑对象结构和预设的开发组件实现数据的分类抽取,这样的解耦设计进一步提高了开发过程的灵活性,并且由于各设计结构较为独立,设计结构变得更易于观察,因此更容易生成运行报告来辅助排查开发中存在的问题,且更易总结项目设计结构特点,为后续服务的优化、维护提供支持。

以上为本申请提出的方法实施例。基于同样的发明构思,本申请实施例还提供了一种基于结构化对象的中心化服务开发设备,其结构如图5所示。

图5为本申请实施例提供的一种基于结构化对象的中心化服务开发设备结构示意图。如图5所示,设备包括处理器501、及存储器502,其上存储有可执行代码,当可执行代码被执行时,使得处理器501执行如上的一种基于结构化对象的中心化服务开发方法。

在本申请的一个实施例中,处理器501用于根据中心化服务中的逻辑对象的结构,对逻辑对象进行序列化处理,构建对应的结构化对象;根据结构化对象中与逻辑对象具有基本关联关系的属性,建立对应的对象索引;根据序列化处理的过程,构建驱动函数,并构建包含对象索引和驱动函数的驱动函数组件。

本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号