CN102520963B - 基于强类型关系映射实现业务逻辑处理的方法及系统 - Google Patents

基于强类型关系映射实现业务逻辑处理的方法及系统 Download PDF

Info

Publication number
CN102520963B
CN102520963B CN201110441540.XA CN201110441540A CN102520963B CN 102520963 B CN102520963 B CN 102520963B CN 201110441540 A CN201110441540 A CN 201110441540A CN 102520963 B CN102520963 B CN 102520963B
Authority
CN
China
Prior art keywords
business
expression
service
instruction
service logic
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.)
Active
Application number
CN201110441540.XA
Other languages
English (en)
Other versions
CN102520963A (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.)
Chongqing super Body Technology Co., Ltd.
Original Assignee
CHONGQING XINMEI AGRICULTURAL INFORMATION TECHNOLOGY 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 CHONGQING XINMEI AGRICULTURAL INFORMATION TECHNOLOGY CO LTD filed Critical CHONGQING XINMEI AGRICULTURAL INFORMATION TECHNOLOGY CO LTD
Priority to CN201110441540.XA priority Critical patent/CN102520963B/zh
Publication of CN102520963A publication Critical patent/CN102520963A/zh
Application granted granted Critical
Publication of CN102520963B publication Critical patent/CN102520963B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提供了一种基于强类型关系映射实现业务逻辑处理的方法及系统,通过强类型语言构建关系映射执行语句和语法解析执行语句,由关系映射执行语句完成面向用户的业务可视对象及相关业务请求指令与面向业务服务器的业务处理表达式之间的映射,由语法解析执行语句完成面向业务服务器的业务处理表达式与面向数据库的数据库语言访问指令,使得业务逻辑处理系统中的业务逻辑层和数据访问层能够相对独立的进行开发,降低了其开发业务逻辑处理系统的学习成本和开发难度,利于在开发编译过程中同时完成代码检错工作,提高开发效率,缩短开发周期;并且采用强类型语言执行语句的方式实现关系映射和语法解析,有助于提升业务逻辑处理系统的敏捷性和稳定性。

Description

基于强类型关系映射实现业务逻辑处理的方法及系统
技术领域
本发明涉及网络通信技术以及应用业务服务技术领域,特别涉及一种基于强类型关系映射实现业务逻辑处理的方法及系统。
背景技术
随着通信技术和互联网技术的快速发展,以及与日俱增的互联网访问量,对各种应用业务的需求越来越旺盛,同时对各种应用要求的安全性、快速响应都有越来越高的要求,同时敏捷性、灵活性也是应用业务项目成功与否的重要因素。
如图1所示,实现应用业务的系统构架主要由前端应用系统、业务逻辑处理系统和数据库系统构成,且通常情况下前端应用系统、业务逻辑处理系统和数据库系统分别构建于三个不同的硬件实体中,即前端应用终端、业务逻辑处理服务器和数据库服务器,前者作为用户客户端、后两者作为服务器端,三者通过互联网络连接实现数据通信。前端应用系统提供应用业务UI交互界面(User Interface,简称UI),用户借助前端应用系统进行UI交互操作,指定业务可视对象和相关的业务请求指令,请求获取应用业务服务;业务逻辑处理系统则响应用户的请求,提供被请求的应用业务服务相关的业务逻辑处理,并根据业务逻辑的需要而对数据库进行查询、提取、刷新、赋值、修改等访问操作,进而获得业务服务数据,为用户提供所需的应用业务服务。从实现应用业务的系统构架可以看到,业务逻辑处理系统是实现应用业务服务功能关键,其业务逻辑规则决定了业务服务功能的多样化、稳定性、敏捷性和灵活性。
建设业务逻辑处理系统的核心是描述业务逻辑模型,由业务逻辑模型来体现业务逻辑规则和数据访问规则。目前的常规技术通常是利用XML文本描述业务逻辑模型,通过配置一定数量的XML文本从而构建业务逻辑处理系统。因为XML语言具有强大而灵活的标签描述特性,可以将业务可视对象、相关业务请求指令的触发对象以及业务逻辑处理过程中需要访问的数据访问对象等分别作为不同的XML标签,通过XML语句描述这些XML标签之间的逻辑处理关系,生成描述业务逻辑模型的XML文本,同时考虑到目前应用服务器技术对XML语言的支持,使得XML文本非常容易在应用服务器上部署,从而基于XML文本构建的业务逻辑处理系统越来越得到广泛的应用。
但是随着网络应用业务的不断发展,基于XML文本构建业务逻辑处理系统的局限性越来越明显。由于用户需要的应用业务服务功能越来越丰富,并且常常会遇到用户有定制业务规则或附加业务请求条件的需求,这使得应用业务的业务逻辑模型越来越复杂,并且业务逻辑模型需要实现从业务请求到数据库的访问操作,因此业务逻辑模型中不仅需要描述业务逻辑规则,还需要描述数据访问规则,并实现相应的数据库语言访问指令,例如SQL语句,需要熟悉应用业务中可视对象和相关业务请求指令开发参数以及数据库开发参数并同时精通开发所用编程语言、XML语言以及数据库语言的技术人员,才能够完成对如此复杂的业务逻辑规则和数据访问规则的描述工作,业务逻辑处理系统开发的学习成本较高;业务逻辑的复杂化也同时使得实现业务逻辑处理系统的XML文本数量剧烈增加,不同XML文本之间的引用、调用关系也越来越复杂,开发技术人员通常需要掌握系统中全部XML文本描述的业务逻辑模型才可以进行进一步的业务逻辑开发,否则极易在引用和调用关系中出现数据类型冲突而导致逻辑处理结果错误,开发效率低、周期长,开发灵活性受限,开发的业务逻辑处理系统稳定性难以保证,需要通过反复运行、调试、检错;此外,由于应用服务器需要对描述业务逻辑的XML文本进行解析,并对XML标签和语言加以解释进而得以执行,并且在业务逻辑处理和执行的过程中,将XML标签都当做一个对象来进行处理,加剧了语句执行的复杂度,执行效率低,影响了业务逻辑处理的敏捷性。
发明内容
针对现有技术中存在的上述不足,本发明提出一种基于强类型关系映射实现业务逻辑处理的方法,以降低开发业务逻辑处理系统的学习成本,提高业务逻辑处理系统的开发效率,增强其执行业务逻辑处理的敏捷性、灵活性、稳定性。
为实现上述目的,本发明采用了如下技术手段:
基于强类型关系映射实现业务逻辑处理的方法,采用强类型语言构建关系映射执行语句和语法解析执行语句,对业务可视对象及相关业务请求指令进行映射和解析处理获得数据库语言访问指令,从而实现对数据库的访问操作,获得业务服务数据;所述关系映射执行语句用于将业务可视对象及相关业务请求指令映射为描述业务执行对象和业务逻辑规则的业务处理表达式;所述语法解析执行语句用于将所述业务处理表达式解析为描述数据访问对象和数据访问规则的数据库语言访问指令。
上述实现业务逻辑处理的方法中,具体而言,所述业务处理表达式至少包括业务执行对象表达式和业务逻辑规则表达式,所述业务逻辑规则表达式用于描述业务执行对象之间以及业务执行对象与其相关数据访问对象之间的逻辑处理关系;所述关系映射执行语句具体用于将业务可视对象映射为业务执行对象表达式,将业务请求指令映射为业务逻辑规则表达式。
上述实现业务逻辑处理的方法中,具体而言,所述语法解析执行语句具体用于从所述业务逻辑规则表达式中解析获得与业务执行对象相关的数据访问对象以及相应的数据访问规则,根据所述数据访问对象和数据访问规则形成数据库语言访问指令。
上述实现业务逻辑处理的方法中,进一步,所述业务请求指令还附加有请求条件;所述业务逻辑规则表达式中还包含有逻辑条件参数,所述逻辑条件参数用于描述与业务执行对象相关的数据访问对象的取值条件或/和取值范围;所述关系映射执行语句还用于将业务请求指令中附加的请求条件映射为业务逻辑规则表达式中包含的逻辑条件参数。
上述实现业务逻辑处理的方法中,进一步,所述语法解析执行语句具体用于从所述业务逻辑规则表达式中解析获得与业务执行对象相关的数据访问对象以及相应的数据访问规则,并由业务逻辑规则表达式中包含的逻辑条件参数解析确定与业务执行对象相关的数据访问对象的取值条件或/和取值范围,根据所述数据访问对象、数据访问规则以及数据访问对象的取值条件或/和取值范围形成数据库语言访问指令。
上述实现业务逻辑处理的方法中,进一步,所述业务处理表达式采用Lambda表达式语法结构。
本发明还相应地提供了基于强类型关系映射实现业务逻辑处理的系统,为此采用的技术手段如下:
基于强类型关系映射实现业务逻辑处理的系统,包括:领域模型模块,主要由业务可视对象和与业务可视对象相关的业务请求指令的集合构成,作为前端应用系统的可视化交互对象;对象关系映射模块,主要由强类型语言构建的关系映射执行语句的集合构成,用于将业务可视对象及相关业务请求指令映射为描述业务执行对象和业务逻辑规则的业务处理表达式;语法解析模块,主要由强类型语言构建的语法解析执行语句的集合构成,用于将所述业务处理表达式解析为描述数据访问对象和数据访问规则的数据库语言访问指令;以及,数据访问模块,主要由数据库语言访问指令的集合构成,用于执行对数据库的访问操作。
上述实现业务逻辑处理的系统中,具体而言,所述业务处理表达式至少包括业务执行对象表达式和业务逻辑规则表达式,所述业务逻辑规则表达式用于描述业务执行对象之间以及业务执行对象与其相关数据访问对象之间的逻辑处理关系;所述对象关系映射模块包括对象映射单元和关系映射单元;所述对象映射单元用于将业务可视对象映射为业务执行对象表达式;所述关系映射单元用于将业务请求指令映射为业务逻辑规则表达式;所述语法解析模块包括表达式解析单元和指令编译单元,所述表达式解析单元用于从业务逻辑规则表达式中解析获得与业务执行对象相关的数据访问对象以及相应的数据访问规则,所述指令编译单元用于根据所述数据访问对象和数据访问规则形成数据库语言访问指令。
上述实现业务逻辑处理的系统中,进一步,所述业务请求指令还附加有请求条件;所述业务逻辑规则表达式中还包含有逻辑条件参数,所述逻辑条件参数用于描述与业务执行对象相关的数据访问对象的取值条件或/和取值范围;所述对象关系映射模块还包括条件映射单元,用于将业务请求指令中附加的请求条件映射为业务逻辑规则表达式中包含的逻辑条件参数;所述语法解析模块还包括条件解析单元,用于由业务逻辑规则表达式中包含的逻辑条件参数解析确定与业务执行对象相关的数据访问对象的取值条件或/和取值范围,所述指令编译单元用于根据所述数据访问对象、数据访问规则以及数据访问对象的取值条件或/和取值范围形成数据库语言访问指令。
上述实现业务逻辑处理的系统中,进一步,所述业务处理表达式采用Lambda表达式语法结构;所述对象关系映射模块中预设有Lambda表达式语法映射契约,根据所述Lambda表达式语法映射契约将业务可视对象及相关业务请求指令映射为Lambda表达式语法结构的业务处理表达式;所述语法解析模块中预设有Lambda表达式语法解析契约,根据所述Lambda表达式语法解析契约将Lambda表达式语法结构的业务处理表达式解析为数据库语言访问指令。
相比于现有技术,本发明具有如下有益效果:
1、本发明实现业务逻辑处理的方法中,通过强类型关系映射的方式实现业务逻辑处理,即采用强类型语言构建关系映射执行语句和语法解析执行语句,由关系映射执行语句完成面向用户的业务可视对象及相关业务请求指令与面向业务服务器的业务处理表达式之间的映射,由语法解析执行语句完成面向业务服务器的业务处理表达式与面向数据库的数据库语言访问指令,从而使得业务逻辑处理系统中的业务逻辑层和数据访问层能够相对独立的进行开发,技术开发人员可以分工完成开发任务,分解了业务逻辑处理系统的开发学习成本,降低了开发难度。
2、本发明实现业务逻辑处理的方法,在降低开发学习成本和开发难度的同时,借助强类型语言对数据类型的强制定义,保证了在关系映射和语法解析过程中不会出现数据类型冲突错误,利于在开发编译过程中同时完成代码检错工作,提高了开发效率,有助于缩短开发周期。
3、本发明实现业务逻辑处理的方法中,还可以采用Lambda表达式语法结构实现逻辑关系相对复杂的业务处理表达式,不仅可以轻量化代码编写量,还使得业务处理表达式更易读、更灵活,也更有利于在开发过程中进行检错工作,能够更进一步的提高开发效率、缩短开发周期。
4、本发明实现业务逻辑处理的系统中,关系映射和语法解析并没有采用传统的XML文本构架方式,而是采用强类型语言执行语句的方式实现,降低了服务器执行复杂度,有助于提升业务逻辑处理系统的敏捷性和稳定性。
附图说明
图1为应用业务的系统构架框图;
图2为本发明基于强类型关系映射实现业务逻辑处理的系统的结构框图。
具体实施方式
为了克服现有业务逻辑处理系统在技术上存在的上述局限性,本发明提出的基于强类型关系映射实现业务逻辑处理的方法,其总体思想在于,虽然开发多样化的应用业务服务功能会相应地涉及多样化的业务请求,进而涉及到更加复杂的业务逻辑规则和数据访问规则,但开发业务逻辑层和数据访问层所用的编程语言和数据库语言所涉及的语法指令集是相对有限的,复杂的业务逻辑规则和数据访问规则都可以由相对有限的语法指令组合而得到,因此,通过构建不同编程语言之间不同对象和语法指令之间的映射关系和解析关系,就可以实现不同编程语言和语法规则之间的映射和解析,达到分层开发、任务分解的目的,并且在分层开发手段的采用上应当尽可能的避免层与层之间数据类型冲突错误,以避免因分层开发而增加开发任务负担。基于这一总体思想,本发明通过强类型关系映射的方式实现业务逻辑处理,即采用强类型语言构建关系映射执行语句和语法解析执行语句,由关系映射执行语句完成面向用户的业务可视对象及相关业务请求指令与面向业务服务器的业务处理表达式之间的映射,由语法解析执行语句完成面向业务服务器的业务处理表达式与面向数据库的数据库语言访问指令,从而使得业务逻辑处理系统中的业务逻辑层和数据访问层能够相对独立的进行开发,技术开发人员可以分工完成开发任务,降低了其开发业务逻辑处理系统的学习成本和开发难度;同时借助强类型语言对数据类型的强制定义,保证了在关系映射和语法解析过程中不会出现数据类型冲突错误,利于在开发编译过程中同时完成代码检错工作,提高了开发效率,有助于缩短开发周期;并且关系映射和语法解析并没有采用传统的XML文本构架方式,而是采用强类型语言执行语句的方式实现,降低了服务器执行复杂度,有助于提升业务逻辑处理系统的敏捷性和稳定性。
本发明基于强类型关系映射实现业务逻辑处理的方法如下:采用强类型语言构建关系映射执行语句和语法解析执行语句,对业务可视对象及相关业务请求指令进行映射和解析处理获得数据库语言访问指令,从而实现对数据库的访问操作,获得业务服务数据,从而提供相应的应用业务服务。其中,关系映射执行语句用于将业务可视对象及相关业务请求指令映射为描述业务执行对象和业务逻辑规则的业务处理表达式,语法解析执行语句用于将所述业务处理表达式解析为描述数据访问对象和数据访问规则的数据库语言访问指令。由此,业务逻辑处理系统中的业务逻辑层和数据访问层则能够相对独立的进行开发;开发业务逻辑层的编程技术人员无需关心数据访问规则以及如何实现数据库访问操作,只需关心前端应用涉及的业务可视对象及相关业务请求指令,采用熟悉的编程语言编写业务处理表达式,在业务处理表达式中完全根据所采用的编程语言的语法规范对业务逻辑处理中涉及的业务执行对象和业务逻辑规则加以描述,然后根据业务可视对象与业务执行对象的对应关系以及业务请求指令与业务逻辑规则的对应关系,采用强类型语言构建关系映射执行语句即可;而开发数据访问层的编程技术人员也无需关心业务逻辑处理中复杂的业务逻辑规则,而只需要了解业务处理表达式中与业务执行对象相关的数据访问对象有哪些、分别采用怎样的数据访问规则,采用强类型语言构建语法解析执行语句,将解析业务处理表达式为符合数据库语言语法规范的数据库语言访问指令,以实现对数据库的访问操作,通过业务逻辑层开发人员和数据访问层开发人员的分工合作,开发学习成本得以分解;同时,由于没有采用传统的XML文本构架,而采用执行语句、表达式和指令集实现业务逻辑处理,业务逻辑层开发人员和数据访问层开发人员都无需再仅依靠引用、调用文本格式化的业务逻辑模型进行进一步的业务逻辑开发,完全可以根据其所采用的编程语言的语法规范构建新执行语句、表达式和指令集实现业务逻辑规则和数据访问规则,提高业务逻辑处理系统的开发效率。强类型语言,是指强制定义变量的数据类型的编程语言,其对数据类型的限制较为严格,语句执行过程中若未经强制转换,变量的数据类型不会改变,Java、.NET、Python、C++等都属于强制类型的编程语言。本发明方法中同时借助强类型语言的这一特性,保证了在关系映射和语法解析过程中不会出现数据类型冲突错误,结合编程IDE(Integrated Development Environment,集成开发环境)工具的语法报错功能即可以在开发编译过程中同时完成代码检错工作,提高了开发效率,有助于缩短开发周期。
具体而言,业务逻辑层开发人员需要编写的业务处理表达式至少包括业务执行对象表达式和业务逻辑规则表达式,业务执行对象表达式用于描述业务执行对象,业务逻辑规则表达式用于描述业务执行对象之间以及业务执行对象与其相关数据访问对象之间的逻辑处理关系;相应地,所编写的关系映射执行语句则具体用于将业务可视对象映射为业务执行对象表达式,将业务请求指令映射为业务逻辑规则表达式;如果涉及到需要定制业务规则或附加业务请求条件应用业务服务功能,那么业务请求指令还附加有相应的请求条件,所编写的业务逻辑规则表达式中则还应当包含有逻辑条件参数,该逻辑条件参数用于描述与业务执行对象相关的数据访问对象的取值条件或/和取值范围;关系映射执行语句也需要相应地将业务请求指令中附加的请求条件映射为业务逻辑规则表达式中包含的逻辑条件参数。数据访问层开发人员编写的语法解析执行语句具体用于从业务逻辑规则表达式中解析获得与业务执行对象相关的数据访问对象以及相应的数据访问规则,根据数据访问对象和数据访问规则形成数据库语言访问指令;如果存在定制业务规则或附加业务请求条件的情况,业务逻辑规则表达式中包含有逻辑条件参数,数据访问层开发人员编写的语法解析执行语句则需要从业务逻辑规则表达式中解析获得与业务执行对象相关的数据访问对象以及相应的数据访问规则,并由业务逻辑规则表达式中包含的逻辑条件参数解析确定与业务执行对象相关的数据访问对象的取值条件或/和取值范围,根据数据访问对象、数据访问规则以及数据访问对象的取值条件或/和取值范围形成数据库语言访问指令。
在业务逻辑层开发的过程中,面对目前应用业务服务功能的多样化和业务逻辑的复杂化,其中涉及的业务逻辑规则是比较复杂的,代码编写的工作量相当大,并且其错综复杂的逻辑表达语句也难以阅读和检错。为了使得业务逻辑层的代码编写量更加的轻量化,更利于阅读和检错,业务逻辑层开发中的业务处理表达式可以采用Lambda表达式语法结构。Lambda表达式是一种匿名函数,它可以包含表达式和语句,所有Lambda表达式都使用 Lambda 运算符“=>”,该运算符的左边是输入参数(如果存在输入参数),右边包含表达式或语句块,因此大大减少了代码字符数量,,逻辑关系表达也十分清晰,易于阅读,也可以使得代码编写更加灵活。从结构上说,Lambda表达式可以写成如下的形式:
“[Lambda-introducer] lambda-declarator => compound-statement”;
其中,中括号“[]”不能省略,“Lambda-introducer”表示中括号中可能出现的变量值,其表示将局部变量传入到Lambda表达式中;“lambda-declaratoropt”是可选择的,包括了表达式的参数列表、返回值信息、mutable声明以及一些其它信息;最后的“compound-statement”则是表达式的主要内容。目前更新的Java、.NET、C++等语言都已经能够支持Lambda表达式语法结构。因此在业务逻辑层开发中,采用Lambda表达式语法结构编写业务处理表达式是较优的选择,通过轻量化代码编写量、提高代码可读性和可检错性进一步的提高开发效率、缩短开发周期。
由上述基于强类型关系映射实现业务逻辑处理的方法,即可获得基于强类型关系映射实现业务逻辑处理的系统,该系统主要由领域模型模块、对象关系映射模块、语法解析模块和数据访问模块构成。
领域模型模块主要由业务可视对象和与业务可视对象相关的业务请求指令的集合构成,作为前端应用系统的可视化交互对象。对于应用业务中存在定制业务规则或附加业务请求条件的情况,业务请求指令中还附加有相应于定制业务规则或附加业务请求条件的请求条件。
对象关系映射模块主要由强类型语言构建的关系映射执行语句的集合构成,用于将业务可视对象及相关业务请求指令映射为描述业务执行对象和业务逻辑规则的业务处理表达式。业务处理表达式至少包括业务执行对象表达式和业务逻辑规则表达式,业务执行对象表达式用于描述业务执行对象,业务逻辑规则表达式用于描述业务执行对象之间以及业务执行对象与其相关数据访问对象之间的逻辑处理关系;相应地,对象关系映射模块至少包括对象映射单元和关系映射单元,对象映射单元用于将业务可视对象映射为业务执行对象表达式,关系映射单元用于将业务请求指令映射为业务逻辑规则表达式。如果存在定制业务规则或附加业务请求条件的情况,由于业务请求指令还附加相应的请求条件,因此业务逻辑规则表达式中还包含有描述与业务执行对象相关的数据访问对象的取值条件或/和取值范围的逻辑条件参数,对象关系映射模块则还需要设置有条件映射单元,用于将业务请求指令中附加的请求条件映射为业务逻辑规则表达式中包含的逻辑条件参数。
语法解析模块主要由强类型语言构建的语法解析执行语句的集合构成,用于将所述业务处理表达式解析为描述数据访问对象和数据访问规则的数据库语言访问指令。语法解析模块至少包括表达式解析单元和指令编译单元,表达式解析单元用于从业务逻辑规则表达式中解析获得与业务执行对象相关的数据访问对象以及相应的数据访问规则,指令编译单元用于根据所述数据访问对象和数据访问规则形成数据库语言访问指令。如果涉及到需要定制业务规则或附加业务请求条件应用业务服务功能,那么业务请求指令还附加有相应的请求条件,相应地,语法解析模块中还应当设置有条件解析单元,用于由业务逻辑规则表达式中包含的逻辑条件参数解析确定与业务执行对象相关的数据访问对象的取值条件或/和取值范围,此时的指令编译单元用于则根据所述数据访问对象、数据访问规则以及数据访问对象的取值条件或/和取值范围形成数据库语言访问指令。
数据访问模块主要由数据库语言访问指令的集合构成,用于执行对数据库的访问操作。
如果采用本发明实现业务逻辑处理的方法中提及的优化方案,采用Lambda表达式语法结构实现业务处理表达式,则在对象关系映射模块中需要预设有Lambda表达式语法映射契约,根据Lambda表达式语法映射契约将业务可视对象及相关业务请求指令映射为Lambda表达式语法结构的业务处理表达式;同时,语法解析模块中也需要预设有Lambda表达式语法解析契约,根据Lambda表达式语法解析契约将Lambda表达式语法结构的业务处理表达式解析为数据库语言访问指令。
在本发明基于强类型关系映射实现业务逻辑处理的系统中,关系映射和语法解析并没有采用传统的XML文本构架方式,而是采用强类型语言执行语句的方式实现,系统运行过程中无需针对业务逻辑模型描述文本进行解析操作而获得文本标签、再进一步解析标签获得执行对象以及业务逻辑规则,而可以直接执行编程语言表达式和语句,大大降低了服务器执行复杂度,有助于提升业务逻辑处理系统的敏捷性和稳定性。同时,由于本发明基于强类型关系映射实现业务逻辑处理的方法及其系统摆脱了XML语言格式文本构架的限制,更有利于在开发过程中自定义系统构架结构,在增强业务逻辑处理系统稳定性、敏捷性、灵活性的同时,实现满足个性化、多样化需求的应用业务。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (7)

1.基于强类型关系映射实现业务逻辑处理的方法,其特征在于,采用强类型语言构建关系映射执行语句和语法解析执行语句,对业务可视对象及相关业务请求指令进行映射和解析处理获得数据库语言访问指令,从而实现对数据库的访问操作,获得业务服务数据,使得业务逻辑处理系统中的业务逻辑层和数据访问层能够相对独立的进行开发;
所述关系映射执行语句用于将业务可视对象及相关业务请求指令映射为描述业务执行对象和业务逻辑规则的业务处理表达式;所述业务处理表达式至少包括业务执行对象表达式和业务逻辑规则表达式,所述业务逻辑规则表达式用于描述业务执行对象之间以及业务执行对象与其相关数据访问对象之间的逻辑处理关系;所述关系映射执行语句具体用于将业务可视对象映射为业务执行对象表达式,将业务请求指令映射为业务逻辑规则表达式;
所述语法解析执行语句用于将所述业务处理表达式解析为描述数据访问对象和数据访问规则的数据库语言访问指令;所述语法解析执行语句具体用于从所述业务逻辑规则表达式中解析获得与业务执行对象相关的数据访问对象以及相应的数据访问规则,根据所述数据访问对象和数据访问规则形成数据库语言访问指令。
2.根据权利要求1所述的实现业务逻辑处理的方法,其特征在于,所述业务请求指令还附加有请求条件;所述业务逻辑规则表达式中还包含有逻辑条件参数,所述逻辑条件参数用于描述与业务执行对象相关的数据访问对象的取值条件或/和取值范围;
所述关系映射执行语句还用于将业务请求指令中附加的请求条件映射为业务逻辑规则表达式中包含的逻辑条件参数。
3.根据权利要求2所述的实现业务逻辑处理的方法,其特征在于,所述语法解析执行语句具体用于从所述业务逻辑规则表达式中解析获得与业务执行对象相关的数据访问对象以及相应的数据访问规则,并由业务逻辑规则表达式中包含的逻辑条件参数解析确定与业务执行对象相关的数据访问对象的取值条件或/和取值范围,根据所述数据访问对象、数据访问规则以及数据访问对象的取值条件或/和取值范围形成数据库语言访问指令。
4.根据权利要求1~3中任一项所述的实现业务逻辑处理的方法,其特征在于,所述业务处理表达式采用Lambda表达式语法结构。
5.基于强类型关系映射实现业务逻辑处理的系统,其特征在于,包括:
领域模型模块,主要由业务可视对象和与业务可视对象相关的业务请求指令的集合构成,作为前端应用系统的可视化交互对象;
对象关系映射模块,主要由强类型语言构建的关系映射执行语句的集合构成,用于将业务可视对象及相关业务请求指令映射为描述业务执行对象和业务逻辑规则的业务处理表达式;所述业务处理表达式至少包括业务执行对象表达式和业务逻辑规则表达式,所述业务逻辑规则表达式用于描述业务执行对象之间以及业务执行对象与其相关数据访问对象之间的逻辑处理关系;所述对象关系映射模块包括对象映射单元和关系映射单元;所述对象映射单元用于将业务可视对象映射为业务执行对象表达式;所述关系映射单元用于将业务请求指令映射为业务逻辑规则表达式;
语法解析模块,主要由强类型语言构建的语法解析执行语句的集合构成,用于将所述业务处理表达式解析为描述数据访问对象和数据访问规则的数据库语言访问指令;所述语法解析模块包括表达式解析单元和指令编译单元,所述表达式解析单元用于从业务逻辑规则表达式中解析获得与业务执行对象相关的数据访问对象以及相应的数据访问规则,所述指令编译单元用于根据所述数据访问对象和数据访问规则形成数据库语言访问指令;以及,
数据访问模块,主要由数据库语言访问指令的集合构成,用于执行对数据库的访问操作。
6.根据权利要求5所述的实现业务逻辑处理的系统,其特征在于,所述业务请求指令还附加有请求条件;所述业务逻辑规则表达式中还包含有逻辑条件参数,所述逻辑条件参数用于描述与业务执行对象相关的数据访问对象的取值条件或/和取值范围;
所述对象关系映射模块还包括条件映射单元,用于将业务请求指令中附加的请求条件映射为业务逻辑规则表达式中包含的逻辑条件参数;
所述语法解析模块还包括条件解析单元,用于由业务逻辑规则表达式中包含的逻辑条件参数解析确定与业务执行对象相关的数据访问对象的取值条件或/和取值范围,所述指令编译单元用于根据所述数据访问对象、数据访问规则以及数据访问对象的取值条件或/和取值范围形成数据库语言访问指令。
7.根据权利要求5或6所述的实现业务逻辑处理的系统,其特征在于,所述业务处理表达式采用Lambda表达式语法结构;
所述对象关系映射模块中预设有Lambda表达式语法映射契约,根据所述Lambda表达式语法映射契约将业务可视对象及相关业务请求指令映射为Lambda表达式语法结构的业务处理表达式;
所述语法解析模块中预设有Lambda表达式语法解析契约,根据所述Lambda表达式语法解析契约将Lambda表达式语法结构的业务处理表达式解析为数据库语言访问指令。
CN201110441540.XA 2011-12-26 2011-12-26 基于强类型关系映射实现业务逻辑处理的方法及系统 Active CN102520963B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110441540.XA CN102520963B (zh) 2011-12-26 2011-12-26 基于强类型关系映射实现业务逻辑处理的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110441540.XA CN102520963B (zh) 2011-12-26 2011-12-26 基于强类型关系映射实现业务逻辑处理的方法及系统

Publications (2)

Publication Number Publication Date
CN102520963A CN102520963A (zh) 2012-06-27
CN102520963B true CN102520963B (zh) 2014-10-01

Family

ID=46291905

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110441540.XA Active CN102520963B (zh) 2011-12-26 2011-12-26 基于强类型关系映射实现业务逻辑处理的方法及系统

Country Status (1)

Country Link
CN (1) CN102520963B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106919590B (zh) * 2015-12-24 2020-05-29 阿里巴巴集团控股有限公司 一种多业务复用处理方法、装置、及系统
CN108073401B (zh) * 2017-12-29 2020-09-15 广州市玄武无线科技股份有限公司 一种业务逻辑的执行方法、装置及电子设备
CN108848032B (zh) * 2018-05-18 2021-04-02 湖南科技大学 一种支持多兴趣类型处理的命名对象网络实现方法
CN109977104B (zh) * 2019-04-01 2021-04-16 重庆紫光华山智安科技有限公司 数据管理方法及装置
CN111104122B (zh) * 2019-12-24 2023-04-11 联通(江苏)产业互联网有限公司 一种xml业务逻辑映射到java业务逻辑的方法
CN111708523B (zh) * 2020-05-20 2023-10-13 广州太平洋电脑信息咨询有限公司 一种基于NodeJs的开发方法、系统及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1875345A (zh) * 2003-06-27 2006-12-06 微软公司 在编译过程中表示和检查程序组件的一致性的可扩展类型系统
CN101105814A (zh) * 2007-09-11 2008-01-16 金蝶软件(中国)有限公司 一种将Script语言转换成SQL语言的方法及装置
CN101488085A (zh) * 2008-01-17 2009-07-22 中兴通讯股份有限公司 软件接口测试方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1875345A (zh) * 2003-06-27 2006-12-06 微软公司 在编译过程中表示和检查程序组件的一致性的可扩展类型系统
CN101105814A (zh) * 2007-09-11 2008-01-16 金蝶软件(中国)有限公司 一种将Script语言转换成SQL语言的方法及装置
CN101488085A (zh) * 2008-01-17 2009-07-22 中兴通讯股份有限公司 软件接口测试方法和装置

Also Published As

Publication number Publication date
CN102520963A (zh) 2012-06-27

Similar Documents

Publication Publication Date Title
CN102520963B (zh) 基于强类型关系映射实现业务逻辑处理的方法及系统
Heitkötter et al. Cross-platform model-driven development of mobile applications with md2
CN108139891B (zh) 用于生成建议以纠正未定义标记错误的方法和系统
US9483240B1 (en) Data binding dependency analysis
CN102880468B (zh) 一种用于ecu程序开发的代码智能提示方法及其系统
CN102541521B (zh) 基于结构化查询语言的操作指令自动生成装置及方法
US20150161180A1 (en) Consumption layer query interface
CN104111828A (zh) 人机交互界面自动生成方法及系统
CN105335412A (zh) 用于数据转换、数据迁移的方法和装置
US20110239200A1 (en) Method for compiling a computer program
CN103049251A (zh) 一种数据库持久层装置及数据库操作方法
US10133766B2 (en) Accessing and editing virtually-indexed message flows using structured query langauge (SQL)
CN101211262A (zh) 一种软件体系结构描述语言的快速构建和支持的方法
Đukić et al. Model execution: An approach based on extending domain-specific modeling with action reports
US11029934B2 (en) Method and system for updating legacy software
CN108932225B (zh) 用于将自然语言需求转换成为语义建模语言语句的方法和系统
CN103559296A (zh) 一种基于xml的scpi命令解析方法
CN104253790A (zh) 规范化页面流的方法和设备
CN105556504A (zh) 从物理流生成逻辑表示
CN113238739A (zh) 一种插件开发和数据获取方法、装置、电子设备及介质
CN115629763A (zh) 目标代码的生成方法、npu指令的显示方法及装置
US9141342B2 (en) Programmatic conversion of support documentation into executable programs
EP3005087A1 (en) Declarative configuration elements
US20200125476A1 (en) Manipulation of complex variables in orchestration applications
El Mrabti et al. Extending IP-XACT to support an MDE based approach for SoC design

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20170627

Address after: Jiulongpo District from four Science Park Road 400012 Chongqing City No. 257 telecom industrial building on the third floor

Patentee after: Chongqing Zhong ran Information Industry Co., Ltd.

Address before: The 401121 northern New District of Chongqing municipality Mount Huangshan Road 5 south of Mercury Technology Building 1 floor office No. 3

Patentee before: Chongqing Xinmei Agricultural Information Technology Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20170721

Address after: 401147, room 2, building 168, Moco center, 703 Xin Nan Road, Chongqing, Yubei District

Patentee after: Chongqing super Body Technology Co., Ltd.

Address before: Jiulongpo District from four Science Park Road 400012 Chongqing City No. 257 telecom industrial building on the third floor

Patentee before: Chongqing Zhong ran Information Industry Co., Ltd.