CN103678687A - 基于配置系统的项目创建方法及装置 - Google Patents

基于配置系统的项目创建方法及装置 Download PDF

Info

Publication number
CN103678687A
CN103678687A CN201310733085.XA CN201310733085A CN103678687A CN 103678687 A CN103678687 A CN 103678687A CN 201310733085 A CN201310733085 A CN 201310733085A CN 103678687 A CN103678687 A CN 103678687A
Authority
CN
China
Prior art keywords
project
data
contents
storage space
organization definition
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
Application number
CN201310733085.XA
Other languages
English (en)
Other versions
CN103678687B (zh
Inventor
袁家美
殷程
王东洋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201310733085.XA priority Critical patent/CN103678687B/zh
Publication of CN103678687A publication Critical patent/CN103678687A/zh
Priority to PCT/CN2014/094296 priority patent/WO2015096661A1/zh
Application granted granted Critical
Publication of CN103678687B publication Critical patent/CN103678687B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及一种基于配置系统的项目创建方法及装置,该方法包括:预先在配置系统的结构定义库中设置并存储多种数据结构以及每种数据结构的结构定义;通过配置系统的结构输入接口接收项目结构数据,项目结构数据中包含至少一种数据结构;从结构定义库中获取项目结构数据中包含的数据结构的结构定义,根据结构定义对项目结构数据进行编译,并显示编译后的项目运行界面。由此可见,通过本发明提供的方法,开发人员为了实现一种新应用的功能,无需重新开发一个软件项目,只要在本发明的配置系统中,根据要实现的具体功能构造出项目结构数据就可以完成项目运行界面的展现,从而节约了大量的人力和时间成本。

Description

基于配置系统的项目创建方法及装置
技术领域
本发明涉及网络通信技术领域,具体涉及一种基于配置系统的项目创建方法及装置。
背景技术
目前,随着软件编程技术的迅速发展,在实际生活或工作中所需的很多应用,例如游戏应用、广告位应用等,都可以通过软件编程的方式,为每种应用设置一个相应的软件项目来实现该应用的功能。
但是,在现有的编程实现方式中,由于每种应用都有其特定的数据结构以及运行逻辑,因此,每种应用对应的软件项目都需要单独开发。具体地,为了实现一种新的应用,必须针对该应用的实际需求设定相应的数据结构以及运行逻辑,并为此专门开发一个软件项目,通过该软件项目来实现该应用的功能。例如,为了在游戏应用的运行界面中安插一个广告位应用,用以展示商家的广告信息,则需要开发人员单独开发一个广告位软件项目,并针对广告的具体展示方式,在该项目中定义相应的数据结构以及运行逻辑,以实现该广告位应用的功能。
虽然上述项目开发方式能够实现生活和工作中所需的各种应用的功能,但是,由于实际情况中所需的应用往往数量庞大、种类繁多且不断更新,如果针对每一种应用都单独开发一个软件项目则会耗费大量的人力和时间成本。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的基于配置系统的项目创建方法及装置。
依据本发明的一个方面,提供了一种基于配置系统的项目创建方法,包括:预先在所述配置系统的结构定义库中设置并存储多种数据结构以及每种数据结构的结构定义;通过所述配置系统的结构输入接口接收项目结构数据,所述项目结构数据中包含至少一种数据结构;从所述结构定义库中获取所述项目结构数据中包含的数据结构的结构定义,根据所述结构定义对所述项目结构数据进行编译,并显示编译后的项目运行界面。
依据本发明的另一方面,提供了一种基于配置系统的项目创建装置,包括:结构定义模块,适于预先在所述配置系统的结构定义库中设置并存储多种数据结构以及每种数据结构的结构定义;结构输入模块,适于通过所述配置系统的结构输入接口接收项目结构数据,所述项目结构数据中包含至少一种数据结构;编译模块,适于从所述结构定义库中获取所述项目结构数据中包含的数据结构的结构定义,根据所述结构定义对所述项目结构数据进行编译,并显示编译后的项目运行界面。
本发明提供的项目创建方法及装置是基于配置系统来实现新项目的创建的。在该配置系统中,预先在结构定义库中设置并存储了多种数据结构以及每种数据结构的结构定义,使用结构定义库中的数据结构能够创建各类项目的运行界面,因此,该配置系统能够提供一种通用的配置服务。这样,开发人员在创建一个具体的项目时,无需针对该项目进行重新开发,只要利用该配置系统的结构定义库中存储的若干种数据结构来构造出该项目的项目结构数据,并将构造出的项目结构数据输入配置系统的结构输入接口,由配置系统根据结构定义库对开发人员输入的项目结构数据进行编译,就可以显示出编译后的项目运行界面。由此可见,通过本发明提供的方法,开发人员为了实现一种新应用的功能,无需重新开发一个软件项目,只要在本发明的配置系统中,根据要实现的具体功能构造出项目结构数据就可以完成项目运行界面的展现,从而节约了大量的人力和时间成本。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的基于配置系统的项目创建方法的流程图;
图2示出了本发明一个具体实施例提供的基于配置系统的项目创建方法的流程图;
图3示出了执行步骤S220时所对应的配置系统的运行界面;
图4示出了执行步骤S240后,配置系统上显示的项目运行界面;
图5示出了步骤S250执行完毕后的项目运行界面示意图;
图6以创建游戏应用对应的项目为例,示出了父项目与子项目之间的继承关系;以及
图7示出了本发明实施例提供的基于配置系统的项目创建装置的结构图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种配置系统的项目创建方法及装置,用以解决现有技术中针对每一种应用都需要单独开发一个软件项目所导致的耗费大量人力和时间成本的问题。
图1示出了本发明实施例提供的基于配置系统的项目创建方法的流程图,如图1所示,该方法包括如下步骤:
步骤S110:预先在配置系统的结构定义库中设置并存储多种数据结构以及每种数据结构的结构定义。
其中,在结构定义库中存储的数据结构包括如下结构中的一种或多种:节点类型数据结构、列表类型数据结构、图片类型数据结构和自定义类型数据结构。其中,每种数据结构通过结构定义来定义该数据结构的具体格式和规范,结构定义可以通过结构体的形式实现。通常情况下,这些数据结构能够满足各类项目的需求。
步骤S120:通过配置系统的结构输入接口接收项目结构数据,该项目结构数据中包含至少一种数据结构。这里,项目结构数据是针对要创建的项目的运行界面特点来构造的。
可选地,在步骤S120中还可以进一步将上述项目结构数据存储到第一存储空间,以便于后续查询。
步骤S130:从上述结构定义库中获取该项目结构数据中包含的数据结构的结构定义,根据该结构定义对该项目结构数据进行编译,并显示编译后的项目运行界面。
在上述编译过程中,主要是根据结构定义库中存储的结构定义来编译上述的项目结构数据,并据此显示出项目运行界面,通过该项目运行界面即可实现对应的项目功能。
步骤S140:通过上述项目运行界面的内容输入接口接收项目内容数据,将该项目内容数据存储到第二存储空间;并根据上述第一存储空间中的项目结构数据将第二存储空间中的项目内容数据显示在上述项目运行界面上。
其中,步骤S140并不是一个必需的步骤,而是一个可选的步骤。对于一些较为简单的项目来说,直接通过项目运行界面就可以实现项目功能,因此可以不必执行步骤S140。通常情况下,需要进一步在项目运行界面中输入项目内容数据时才需要执行步骤S140。
这里,项目内容数据是指开发人员在项目运行界面的内容输入接口(例如输入框、点选按钮等输入接口)中输入的数据。在本发明中将项目结构数据存储到了第一存储空间,将项目内容数据存储到了不同于第一存储空间的第二存储空间,基于这样的存储结构,该方法在步骤S140之后还可以进一步包括下述的步骤S150至步骤S170。其中,步骤S150至步骤S170分别通过不同的操作接口触发,因此,步骤S150至步骤S170的执行顺序是任意的,取决于开发人员的具体操作顺序。
步骤S150:根据接收的项目查询请求从第二存储空间中获取待查询的项目内容数据,并从第一存储空间中获取与待查询的项目内容数据相对应的项目结构数据;根据获取的项目结构数据对获取的项目内容数据进行显示。其中,项目查询请求可以通过项目运行界面上提供的查询接口来触发。
步骤S160:根据接收的项目修改请求确定修改后的项目内容数据,以及修改后的项目内容数据在第二存储空间中的对应位置;用修改后的项目内容数据替换第二存储空间中对应位置的原有项目内容数据,并从第一存储空间中获取与对应位置的原有项目内容数据相对应的项目结构数据;根据项目结构数据对替换后的项目内容数据进行显示。其中,项目修改请求可以通过项目运行界面上提供的修改接口来触发。
步骤S170:通过配置系统的子项目创建接口为当前项目创建子项目,该子项目继承当前项目中的项目结构数据和项目内容数据。由于在子项目中继承了当前项目中的项目结构数据和项目内容数据,因此,利用子项目可以简化多个项目创建时的复杂度。
由此可见,通过本发明实施例提供的方法,开发人员在实现一种新的应用功能时,无需重新开发一个软件项目,只要在本发明的配置系统中,根据要实现的具体功能构造出项目结构数据就可以完成项目运行界面的展现,从而节约了大量的人力和时间成本。
下面结合一个具体实施例详细介绍一下本发明提供的基于配置系统的项目创建方法。如图2所示,该方法包括如下步骤:
步骤S210:在配置系统的结构定义库中设置并存储多种数据结构以及每种数据结构的结构定义。
为了实现配置系统的通用性,结构定义库中的数据结构应尽可能全面地满足各类项目的需求。例如,结构定义库中的数据结构可以包括:简单类型、节点(node)类型、文本(text)类型、选择(select)类型、输入框(checkbox)类型、单选按钮(radio)类型、图片(img)类型、列表类型、以及自定义类型等多种类型的数据结构。其中,列表类型又可以进一步分为节点列表类型和自定义列表类型。其中,每种数据结构的结构定义用于表明该数据结构的数据格式和用法规范,且每种数据结构的结构定义可以通过一个结构体的形式来表示。下面就给出常用的几种数据结构的结构定义的一种定义方式:
简单类型:
Figure BDA0000447458120000061
节点类型:
Figure BDA0000447458120000062
Figure BDA0000447458120000081
Figure BDA0000447458120000091
Figure BDA0000447458120000101
其中,简单类型能够应用于一些比较简单的项目运行界面上,例如,可以实现项目运行界面上的一处静态文本等内容;输入框类型能够应用于一些需要展现输入框的项目运行界面上,例如,可以实现项目运行界面上的几处输入框;单选按钮类型能够应用于一些需要展现单选按钮的项目运行界面上;图片类型能够应用于一些需要展现图片的项目运行界面上;自定义类型能够满足用户自定义的界面需求。本领域技术人员还可以对上面介绍的数据类型进行扩展或调整,总之,在本发明提供的结构定义库中能够灵活定义各种类型的数据结构,用以实现任意风格的项目运行界面,从而满足各类项目的需求。
步骤S220:通过配置系统的结构输入接口接收项目game-isbn的项目结构数据,该项目结构数据中包含节点类型和输入框类型的数据结构。
在本实施例中,以创建一个名为game-isbn的项目为例进行介绍,该项目能够为数百款游戏分别设置游戏标识以及备案号,从而便于对这些游戏进行管理。图3示出了执行步骤S220时所对应的配置系统的运行界面。如图3所示,当开发人员点击配置系统右侧的“结构复用”按钮(即上述的结构输入接口)后,就可以通过右侧的空白处输入图3所示的代码段(即上述的项目结构数据)。在图3所示的代码段中,利用节点类型和输入框类型的数据结构定义了项目game-isbn的结构数据。其中,“so”为整个结构体的名称,在该结构体内部,通过“name:游戏备案”以及“type:node”这两个字段定义了一个类型为节点类型、名称为游戏备案的页面元素,并且,通过value字段定义了该页面元素对应的内容项。具体地,在value字段中定义了两个内容项,每个内容项都通过“name”、“type”等字段定义了该内容项的名称、类型等信息。例如,第一个内容项为字符串类型的“游戏gkey”,第二个内容项为字符串类型的“备案号&ISBN号”。并且,在每个内容项中,进一步通过“input”字段定义了能够在该内容项中输入的数据,例如能够输入文本类型的数据。
由此可见,步骤S220中的项目结构数据是根据要创建的项目的实际需求来确定的,并且,步骤S220中输入的项目结构数据是利用步骤S210中定义的各种数据结构的结构定义来编写的。在本实施例中,要创建的是一个能够输入并保存游戏标识以及游戏备案号的项目,因此,只要定义出项目界面上要展示的元素以及内容项等信息即可。如果要创建的项目需要上传图片,则还可以在项目结构数据中进一步利用图片数据类型来编写代码段;如果要创建的项目需要展现单选按钮,则还可以在项目结构数据中进一步利用单选按钮数据类型来编写代码段等。
步骤S230:将步骤S220中接收到的项目结构数据存储到第一存储空间,该第一存储空间专门用于存储各个项目的项目结构数据,以便于后续查询。
步骤S240:从结构定义库中获取项目结构数据中包含的节点类型和输入框类型的数据结构的结构定义,根据获取的结构定义对项目结构数据进行编译,并显示编译后的项目运行界面。
其中,从结构定义库中获取的结构定义规定了每种数据结构的数据格式和用法规范,根据这些数据格式和用法规范能够确定出步骤S220中输入的代码段中各个字段的含义,并据此编译出该代码段所对应的项目运行界面。
图4示出了执行步骤S240后,配置系统上显示的项目运行界面。如图4所示,该项目运行界面上包含“游戏备案”以及“游戏备案(1)”的页面元素,且“游戏备案(1)”的页面元素下方还显示有“复制”和“删除”按钮,从而可以对该页面元素执行复制或删除的操作。另外,“游戏备案(1)”的页面元素右侧进一步对应有“游戏gkey”和“备案号&ISBN号”两个内容项,这两个内容项的具体取值可以通过右侧的空白输入框输入。利用图4所示的项目运行界面即可完成为数百款游戏设置游戏标识(即游戏gkey)及游戏备案号的功能。
步骤S250:通过图4所示的项目运行界面的内容输入接口接收项目内容数据,将项目内容数据存储到第二存储空间;根据第一存储空间中的项目结构数据将第二存储空间中的项目内容数据显示在项目运行界面上。
如图4所示,项目运行界面的内容输入接口即为“游戏gkey”和“备案号&ISBN号”这两个内容项右侧所对应的空白输入框。图5示出了步骤S250执行完毕后的项目运行界面示意图。如图5所示,首先,针对“游戏备案(1)”这一页面元素所对应的两个内容项“游戏gkey”和“备案号&ISBN号”,开发人员在其右侧的两个空白输入框内分别输入“sqol”以及“文网游备字【2012】W-RPG029”。这里通过空白输入框输入的“sqol”以及“文网游备字【2012】W-RPG029”就是上文提到的项目内容数据。采用同样的方式,开发人员还可以对“游戏备案(1)”这一页面元素进行多次复制,并分别针对每次复制后的页面元素输入相应的项目内容数据,从而实现为多款游戏分别设置游戏标识和备案号的目的。
下面介绍一下图5显示的项目运行界面所对应的处理逻辑:当开发人员输入项目内容数据之后,配置系统将这些项目内容数据单独存储到第二存储空间,该第二存储空间不同于第一存储空间,其专门用于存储各个项目所包含的项目内容数据。由此可见,在本发明实施例中,项目结构数据和项目内容数据是分开存储的。这样,配置系统接收到这些项目内容数据之后,先要查询第一存储空间中存储的项目结构数据,例如,对于“sqol”这项项目内容数据来说,其对应的项目结构数据如下:
Figure BDA0000447458120000131
上述项目结构数据定义了“sqol”这一项目内容数据所对应的含义、格式规范等内容。例如,“name”字段表明该项目内容数据所表示的是“游戏gkey”信息,“input”字段表明该项目内容数据应该展现为文本形式。并且,对于在其他的游戏备案元素所对应的“游戏gkey”内容项中输入的项目内容数据,如“hsol”、“ddt”、“xddt”来说,其对应的项目结构数据与“sqol”对应的项目结构数据相同。
相应地,对于“文网游备字【2012】W-RPG029”这项项目内容数据来说,其对应的项目结构数据如下:
上述项目结构数据定义了“文网游备字【2012】W-RPG029”这一项目内容数据所对应的含义、格式规范等内容。例如,“name”字段表明该项目内容数据所表示的是“备案号&ISBN号,“input”字段表明该项目内容数据应该展现为文本形式。并且,对于在其他的游戏备案元素所对应的“备案号&ISBN号”内容项中输入的项目内容数据,如“文网游备字【2013】W-RPG054”、“文网游备字【2012】W-CSG022”、“文网游备字【2013】W-CSG010”来说,其对应的项目结构数据与“文网游备字【2012】W-RPG029”对应的项目结构数据相同。
由此可见,通过查询第一存储空间中存储的项目结构数据,就可以确定第二存储空间中的项目内容数据所代表的含义、格式规范以及展现形式,进而将项目内容数据展现在项目运行界面上。
通过上述步骤就完成了项目game-isbn的创建过程,在上述过程中,开发人员只需根据该项目的特点和实际需求,确定出需要在项目运行界面上展现“游戏备案”的页面元素,以及与“游戏gkey”和“备案号&ISBN”相应的输入框,然后根据这些信息编写图3所示的代码段,就可以完成对该项目的创建,并且,该项目所对应的项目结构数据和项目内容数据都可以通过配置系统进行统一管理。由此避免了现有技术中为了创建一个项目而单独开发一套系统的繁琐操作。
另外,在上述的配置系统中,可以对创建好的各个项目进行统一管理,而且,针对某一特定的项目,还可以向开发人员提供该项目的查询以及修改等操作方式。
首先,介绍一下对于项目的查询操作。当开发人员需要查询某个项目时,只需要通过配置系统发送一个项目查询请求就可以实现。该项目查询请求可以通过配置系统提供的项目查询接口来发送,例如,开发人员通过该项目查询接口发送一个包含项目名称的项目查询请求,配置系统接收到该项目查询请求之后,一方面,要从第二存储空间中获取待查询的项目内容数据(即该项目中所包含的全部项目内容数据),另一方面,还要从第一存储空间中获取与待查询的项目内容数据对应的项目结构数据(即该项目所对应的全部项目结构数据)。然后,根据获取的项目结构数据确定出获取的项目内容数据的格式规范以及展现方式,并据此对项目内容数据进行显示,由此实现项目查询的功能。除了直接根据项目名称来查询项目中的全部项目内容数据之外,还可以按照项目中的部分特征来查询项目中的部分项目内容数据,例如,针对图5所示的项目来说,也可以通过项目查询接口来查询与某一个游戏gkey相对应的备案号。
其次,介绍一下对于项目的修改操作。当开发人员需要修改某个项目时,只需要通过配置系统发送一个项目修改请求就可以实现。该项目修改请求可以通过配置系统提供的项目修改接口来发送,例如,开发人员通过该项目修改接口发送一个包含修改后的项目内容数据的项目修改请求,配置系统接收到该项目修改请求之后,一方面,要在第二存储空间中确定修改后的项目内容数据的对应位置,以便用修改后的项目内容数据替换该位置的原有项目内容数据,另一方面,还要从第一存储空间中获取与原有项目内容数据对应的项目结构数据。然后,根据获取的项目结构数据确定出替换后的项目内容数据的格式规范以及展现方式,并据此对替换后的项目内容数据进行显示,由此实现项目修改的功能。
由此可见,在本发明实施例中,将项目结构数据和项目内容数据分开存储,并在查询和修改项目时,分别获取项目结构数据和项目内容数据,并根据项目结构数据来确定项目内容数据的展现形式,由此实现最终的查询或修改操作。
基于上述的将项目结构数据和项目内容数据分开存储的方式,本发明实施例还可以提供为当前项目创建子项目的功能。具体实现时,通过配置系统的子项目创建接口就可以为当前项目创建子项目,且创建的子项目自动继承当前项目中的项目结构数据和项目内容数据,这样避免了对各个子项目一一设置项目结构数据和项目内容数据的繁琐操作。
图6以创建游戏应用对应的项目为例,示出了父项目与子项目之间的继承关系。首先,开发人员创建了一个游戏工具条,在该游戏工具条中定义一些工具条的基本属性。然后,在该游戏工具条的基础上,又创建了两个子项目,分别为玩平台工具条和桌面工具条,这两个子项目自动地继承游戏工具条这一父项目中的基本属性(这些基本属性通过项目结构数据和项目内容数据体现),因此,开发人员无需在这两个子项目中重新定义工具条的基本属性,只需定义这两个子项目所特有的属性信息即可,由此简化了项目创建时的工作量。具体地,玩平台工具条用于在浏览器中进行显示,桌面工具条用于在各项桌面应用中进行显示,二者同属于工具条,因而都具有工具条的基本属性,所以采用继承的方式能够省去定义基本属性的步骤。但是,由于二者所应用的场景不同,导致二者又必然具有一些与其应用场景相关的特有属性,因而,开发人员只需针对这些特有属性进行定义即可。在此基础上,还可以进一步为玩平台工具条和桌面工具条分别定义各自的子项目。
图7示出了本发明实施例提供的基于配置系统的项目创建装置的结构图,如图7所示,该装置700至少包括:结构定义模块71、结构输入模块72和编译模块73。
其中,结构定义模块71预先在配置系统的结构定义库中设置并存储多种数据结构以及每种数据结构的结构定义。
结构输入模块72通过配置系统的结构输入接口接收项目结构数据,该项目结构数据中包含至少一种数据结构。可选地,结构输入模块72进一步适于:将项目结构数据存储到第一存储空间81。
编译模块73从结构定义库中获取项目结构数据中包含的数据结构的结构定义,根据该结构定义对项目结构数据进行编译,并显示编译后的项目运行界面。
可选地,该装置进一步包括:内容输入模块74,其通过项目运行界面的内容输入接口接收项目内容数据,将项目内容数据存储到第二存储空间82;根据第一存储空间81中的项目结构数据将第二存储空间82中的项目内容数据显示在项目运行界面上。
可选地,该装置进一步包括:项目查询模块75,适于接收项目查询请求,根据项目查询请求确定待查询的项目内容数据;从第二存储空间82中获取待查询的项目内容数据,并从第一存储空间81中获取待查询的项目内容数据对应的项目结构数据;根据项目结构数据对待查询的项目内容数据进行显示。
可选地,该装置进一步包括:项目修改模块76,适于接收项目修改请求,根据项目修改请求确定待修改的项目内容数据,以及待修改的项目内容数据在第二存储空间82中的对应位置;用待修改的项目内容数据替换第二存储空间中对应位置的原有项目内容数据,并从第一存储空间中获取对应位置的原有项目内容数据对应的项目结构数据;根据项目结构数据对替换后的项目内容数据进行显示。
可选地,该装置还可以包括:子项目创建模块,适于通过配置系统的子项目创建接口为当前项目创建子项目,且子项目继承当前项目中的项目结构数据和项目内容数据。
关于该装置中的各个模块的具体工作原理可参照方法实施例中对应部分的描述,此处不再赘述。
综上所述,在本发明实施例提供的基于配置系统的项目创建方法及装置中,将项目结构数据和项目内容数据分开存储,由此使得本方法及装置至少具备如下优点:首先,在本方法中,可以在结构定义库中任意定义数据类型,由此满足各类项目的需求;其次,在本方法中,可以利用继承方式创建子项目,由此减少创建项目时的工作量。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明还公开了A1、一种基于配置系统的项目创建方法,包括:
预先在所述配置系统的结构定义库中设置并存储多种数据结构以及每种数据结构的结构定义;
通过所述配置系统的结构输入接口接收项目结构数据,所述项目结构数据中包含至少一种数据结构;
从所述结构定义库中获取所述项目结构数据中包含的数据结构的结构定义,根据所述结构定义对所述项目结构数据进行编译,并显示编译后的项目运行界面。
A2、如A1所述的方法,其中,所述通过所述配置系统的结构输入接口接收项目结构数据的步骤之后进一步包括:将所述项目结构数据存储到第一存储空间;
所述显示编译后的项目运行界面的步骤之后进一步包括:通过所述项目运行界面的内容输入接口接收项目内容数据,将所述项目内容数据存储到第二存储空间;根据所述第一存储空间中的项目结构数据将所述第二存储空间中的项目内容数据显示在所述项目运行界面上。
A3、如A2所述的方法,其中,所述根据所述第一存储空间中的项目结构数据将所述第二存储空间中的项目内容数据显示在所述项目运行界面上的步骤之后进一步包括:
根据接收的项目查询请求从所述第二存储空间中获取待查询的项目内容数据,并从所述第一存储空间中获取所述待查询的项目内容数据对应的项目结构数据;根据所述项目结构数据对所述待查询的项目内容数据进行显示。
A4、如A2所述的方法,其中,所述根据所述第一存储空间中的项目结构数据将所述第二存储空间中的项目内容数据显示在所述项目运行界面上的步骤之后进一步包括:
根据接收的项目修改请求确定修改后的项目内容数据,以及所述修改后的项目内容数据在第二存储空间中的对应位置;
用所述修改后的项目内容数据替换所述第二存储空间中对应位置的原有项目内容数据,并从所述第一存储空间中获取所述对应位置的原有项目内容数据对应的项目结构数据;
根据所述项目结构数据对替换后的项目内容数据进行显示。
A5、如A1-4任一所述的方法,其中,进一步包括:
通过所述配置系统的子项目创建接口为当前项目创建子项目,所述子项目继承当前项目中的项目结构数据和项目内容数据。
A6、如A1所述的方法,其中,所述结构定义库中存储的数据结构包括:节点类型数据结构、列表类型数据结构、图片类型数据结构和自定义类型数据结构。
B7、一种基于配置系统的项目创建装置,包括:
结构定义模块,适于预先在所述配置系统的结构定义库中设置并存储多种数据结构以及每种数据结构的结构定义;
结构输入模块,适于通过所述配置系统的结构输入接口接收项目结构数据,所述项目结构数据中包含至少一种数据结构;
编译模块,适于从所述结构定义库中获取所述项目结构数据中包含的数据结构的结构定义,根据所述结构定义对所述项目结构数据进行编译,并显示编译后的项目运行界面。
B8、如B7所述的装置,其中,所述结构输入模块进一步适于:将所述项目结构数据存储到第一存储空间;
则所述装置进一步包括:内容输入模块,适于通过所述项目运行界面的内容输入接口接收项目内容数据,将所述项目内容数据存储到第二存储空间;根据所述第一存储空间中的项目结构数据将所述第二存储空间中的项目内容数据显示在所述项目运行界面上。
B9、如B8所述的装置,其中,进一步包括:
项目查询模块,适于根据接收的项目查询请求从所述第二存储空间中获取待查询的项目内容数据,并从所述第一存储空间中获取所述待查询的项目内容数据对应的项目结构数据;根据所述项目结构数据对所述待查询的项目内容数据进行显示。
B10、如B8所述的装置,其中,进一步包括:
项目修改模块,适于根据接收的项目修改请求确定修改后的项目内容数据,以及所述修改后的项目内容数据在第二存储空间中的对应位置;用所述修改后的项目内容数据替换所述第二存储空间中对应位置的原有项目内容数据,并从所述第一存储空间中获取所述对应位置的原有项目内容数据对应的项目结构数据;根据所述项目结构数据对替换后的项目内容数据进行显示。
B11、如B7-10任一所述的装置,其中,进一步包括:
子项目创建模块,适于通过所述配置系统的子项目创建接口为当前项目创建子项目,所述子项目继承当前项目中的项目结构数据和项目内容数据。
B12、如B7所述的装置,其中,所述结构定义库中存储的数据结构包括:节点类型数据结构、列表类型数据结构、图片类型数据结构和自定义类型数据结构。

Claims (10)

1.一种基于配置系统的项目创建方法,包括:
预先在所述配置系统的结构定义库中设置并存储多种数据结构以及每种数据结构的结构定义;
通过所述配置系统的结构输入接口接收项目结构数据,所述项目结构数据中包含至少一种数据结构;
从所述结构定义库中获取所述项目结构数据中包含的数据结构的结构定义,根据所述结构定义对所述项目结构数据进行编译,并显示编译后的项目运行界面。
2.如权利要求1所述的方法,其中,所述通过所述配置系统的结构输入接口接收项目结构数据的步骤之后进一步包括:将所述项目结构数据存储到第一存储空间;
所述显示编译后的项目运行界面的步骤之后进一步包括:通过所述项目运行界面的内容输入接口接收项目内容数据,将所述项目内容数据存储到第二存储空间;根据所述第一存储空间中的项目结构数据将所述第二存储空间中的项目内容数据显示在所述项目运行界面上。
3.如权利要求2所述的方法,其中,所述根据所述第一存储空间中的项目结构数据将所述第二存储空间中的项目内容数据显示在所述项目运行界面上的步骤之后进一步包括:
根据接收的项目查询请求从所述第二存储空间中获取待查询的项目内容数据,并从所述第一存储空间中获取所述待查询的项目内容数据对应的项目结构数据;根据所述项目结构数据对所述待查询的项目内容数据进行显示。
4.如权利要求2所述的方法,其中,所述根据所述第一存储空间中的项目结构数据将所述第二存储空间中的项目内容数据显示在所述项目运行界面上的步骤之后进一步包括:
根据接收的项目修改请求确定修改后的项目内容数据,以及所述修改后的项目内容数据在第二存储空间中的对应位置;
用所述修改后的项目内容数据替换所述第二存储空间中对应位置的原有项目内容数据,并从所述第一存储空间中获取所述对应位置的原有项目内容数据对应的项目结构数据;
根据所述项目结构数据对替换后的项目内容数据进行显示。
5.如权利要求1-4任一所述的方法,其中,进一步包括:
通过所述配置系统的子项目创建接口为当前项目创建子项目,所述子项目继承当前项目中的项目结构数据和项目内容数据。
6.如权利要求1所述的方法,其中,所述结构定义库中存储的数据结构包括:节点类型数据结构、列表类型数据结构、图片类型数据结构和自定义类型数据结构。
7.一种基于配置系统的项目创建装置,包括:
结构定义模块,适于预先在所述配置系统的结构定义库中设置并存储多种数据结构以及每种数据结构的结构定义;
结构输入模块,适于通过所述配置系统的结构输入接口接收项目结构数据,所述项目结构数据中包含至少一种数据结构;
编译模块,适于从所述结构定义库中获取所述项目结构数据中包含的数据结构的结构定义,根据所述结构定义对所述项目结构数据进行编译,并显示编译后的项目运行界面。
8.如权利要求7所述的装置,其中,所述结构输入模块进一步适于:将所述项目结构数据存储到第一存储空间;
则所述装置进一步包括:内容输入模块,适于通过所述项目运行界面的内容输入接口接收项目内容数据,将所述项目内容数据存储到第二存储空间;根据所述第一存储空间中的项目结构数据将所述第二存储空间中的项目内容数据显示在所述项目运行界面上。
9.如权利要求8所述的装置,其中,进一步包括:
项目查询模块,适于根据接收的项目查询请求从所述第二存储空间中获取待查询的项目内容数据,并从所述第一存储空间中获取所述待查询的项目内容数据对应的项目结构数据;根据所述项目结构数据对所述待查询的项目内容数据进行显示。
10.如权利要求8所述的装置,其中,进一步包括:
项目修改模块,适于根据接收的项目修改请求确定修改后的项目内容数据,以及所述修改后的项目内容数据在第二存储空间中的对应位置;用所述修改后的项目内容数据替换所述第二存储空间中对应位置的原有项目内容数据,并从所述第一存储空间中获取所述对应位置的原有项目内容数据对应的项目结构数据;根据所述项目结构数据对替换后的项目内容数据进行显示。
CN201310733085.XA 2013-12-26 2013-12-26 基于配置系统的项目创建方法及装置 Active CN103678687B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201310733085.XA CN103678687B (zh) 2013-12-26 2013-12-26 基于配置系统的项目创建方法及装置
PCT/CN2014/094296 WO2015096661A1 (zh) 2013-12-26 2014-12-19 基于配置系统的项目创建方法及装置、项目测试方法及装置、配置系统的后台测试方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310733085.XA CN103678687B (zh) 2013-12-26 2013-12-26 基于配置系统的项目创建方法及装置

Publications (2)

Publication Number Publication Date
CN103678687A true CN103678687A (zh) 2014-03-26
CN103678687B CN103678687B (zh) 2017-04-05

Family

ID=50316231

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310733085.XA Active CN103678687B (zh) 2013-12-26 2013-12-26 基于配置系统的项目创建方法及装置

Country Status (1)

Country Link
CN (1) CN103678687B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015096661A1 (zh) * 2013-12-26 2015-07-02 北京奇虎科技有限公司 基于配置系统的项目创建方法及装置、项目测试方法及装置、配置系统的后台测试方法及装置
CN107273176A (zh) * 2016-04-08 2017-10-20 上海思立微电子科技有限公司 一种适配硬件架构的编译方法及装置
CN108563448A (zh) * 2018-04-19 2018-09-21 清华大学 程序文件的编译方法、系统、计算机设备和存储介质
CN112306543A (zh) * 2020-11-13 2021-02-02 成都中科大旗软件股份有限公司 一种ios系统衍生项目的管理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1871598A (zh) * 2003-08-21 2006-11-29 微软公司 用于可由硬件/软件接口系统管理的信息单元的扩展和继承的系统和方法
CN101248414A (zh) * 2005-04-01 2008-08-20 微软公司 用户数据配置文件名字空间
CN101685393A (zh) * 2008-08-20 2010-03-31 大唐软件技术股份有限公司 一种实现界面动态定制和生成的方法及系统
CN103116500A (zh) * 2013-03-11 2013-05-22 北京首钢自动化信息技术有限公司 一种结构体定义和结构输出的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1871598A (zh) * 2003-08-21 2006-11-29 微软公司 用于可由硬件/软件接口系统管理的信息单元的扩展和继承的系统和方法
CN101248414A (zh) * 2005-04-01 2008-08-20 微软公司 用户数据配置文件名字空间
CN101685393A (zh) * 2008-08-20 2010-03-31 大唐软件技术股份有限公司 一种实现界面动态定制和生成的方法及系统
CN103116500A (zh) * 2013-03-11 2013-05-22 北京首钢自动化信息技术有限公司 一种结构体定义和结构输出的方法及装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015096661A1 (zh) * 2013-12-26 2015-07-02 北京奇虎科技有限公司 基于配置系统的项目创建方法及装置、项目测试方法及装置、配置系统的后台测试方法及装置
CN107273176A (zh) * 2016-04-08 2017-10-20 上海思立微电子科技有限公司 一种适配硬件架构的编译方法及装置
CN107273176B (zh) * 2016-04-08 2020-05-12 上海思立微电子科技有限公司 一种适配硬件架构的编译方法及装置
CN108563448A (zh) * 2018-04-19 2018-09-21 清华大学 程序文件的编译方法、系统、计算机设备和存储介质
CN112306543A (zh) * 2020-11-13 2021-02-02 成都中科大旗软件股份有限公司 一种ios系统衍生项目的管理方法

Also Published As

Publication number Publication date
CN103678687B (zh) 2017-04-05

Similar Documents

Publication Publication Date Title
US10127250B2 (en) Data transformation system, graphical mapping tool and method for creating a schema map
US7610545B2 (en) Annotations for tracking provenance
CN109597814B (zh) 一种后台管理信息系统的在线快速交付系统
US9021440B1 (en) System and method for automated test script generation
US7448024B2 (en) System and method for software application development in a portal environment
CN112328212A (zh) 一种基于引擎模式前后端分离的快速开发平台及其使用方法
US20220179642A1 (en) Software code change method and apparatus
CN112650766A (zh) 数据库数据操作的方法、系统及服务器
US10379826B1 (en) Determining inputs to an integration flow component
CN110941614A (zh) 表单生成方法、装置、电子设备及计算机可读存储介质
CN113076096A (zh) 一种桌面应用程序开发方法、装置、设备及存储介质
CN103744647A (zh) 一种基于工作流GPD的Java工作流开发系统及其方法
US7685155B2 (en) System and method of providing and utilizing an object schema to facilitate mapping between disparate domains
CN103678687A (zh) 基于配置系统的项目创建方法及装置
US20050108681A1 (en) Method and system for applying user interface elements to data
CN111666100A (zh) 软件框架生成方法、装置、电子设备及存储介质
CN102541544A (zh) 树形控件的处理方法、装置及系统
CN109558121A (zh) 接口驱动程序的开发方法、装置、设备及存储介质
CN114721647B (zh) 一种基于无代码应用开发的面向对象编程方法
CN105677347A (zh) 一种数据处理的方法及装置
US20140136257A1 (en) In-memory analysis scenario builder
Derks React Projects: Build 12 real-world applications from scratch using React, React Native, and React 360
CN111930387A (zh) 一种集成包的集成方法及装置、电子设备和存储介质
CN108553899A (zh) 一种即点即玩游戏的开发装置及其方法
CN110019034A (zh) 表单文件加载方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220726

Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.

TR01 Transfer of patent right