[发明专利]并发模块、业务系统、预装配方法以及创建方法有效
申请号: | 201410008811.6 | 申请日: | 2014-01-08 |
公开(公告)号: | CN104765638B | 公开(公告)日: | 2019-04-09 |
发明(设计)人: | 郭曦;林涛;张炜权;卞建权 | 申请(专利权)人: | 携程计算机技术(上海)有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 上海弼兴律师事务所 31283 | 代理人: | 薛琦;吕一旻 |
地址: | 200335 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 并发 模块 业务 系统 预装 配方 以及 创建 方法 | ||
本发明提供一种并发模块、业务系统、预装配方法以及创建方法,并发模块包括处理单元、并发队列、若干预装配单元、第一判断单元和第二判断单元;处理单元从数据源获取数据加工处理,将生成的业务结果传至并发队列;第一判断单元用于判断业务结果的类型,将业务结果转移至预存储该类型的业务结果的预装配单元;第二判断单元用于判断业务结果转移至的预装配单元中的业务结果是否已经全部生成,若是则调用业务结果转移至的预装配单元对应的排序函数,使业务结果转移至的预装配单元中的所有业务结果按照对应的排序函数进行排序。本发明解除业务系统与并发代码间的高耦合性,以便于并发模块单独调优,同时业务系统具有更好的扩展性和可维护性。
技术领域
本发明涉及高并发系统与业务系统间的通信,特别涉及一种并发模块、业务系统、利用该并发模块实现的预装配方法以及利用该业务系统实现的创建方法。
背景技术
在高并发系统中,并发模块所生成的业务结果通常是无序地放在并发数据结构中,即不同类型的业务结果交错地存放在同一个地方。而业务系统通常要求在满足一定条件时,以一定的顺序处理高并发系统生成的业务结果。一般地,业务系统会直接到并发模块中去提取业务结果,再按一定的业务逻辑装配起来。
这种方式存在两个问题:业务系统的代码需要与并发性打交道,容易引入错误;其次,过多的线程参与竞争并发数据结构,导致性能变差,不利于系统调优。
发明内容
本发明要解决的技术问题是为了克服现有技术中高性能的业务系统直接处理高并发性操作,从而导致业务逻辑与高并发性逻辑互相影响、互相耦合的缺陷,提供一种并发模块、业务系统、预装配方法以及创建方法,解除业务系统与并发代码之间的高耦合性,将高并发性代码从业务系统中隔离出来,使得业务系统与并发模块之间以松散形式耦合,这样既有利于业务系统的未来扩展,也方便了对并发模块的调优。
本发明是通过下述技术方案来解决上述技术问题的:
本发明提供一种并发模块,其包括一处理单元和一并发队列,其特点在于,该并发模块还包括若干预装配单元、一第一判断单元和一第二判断单元,每一预装配单元均对应有唯一的识别信息和排序函数,且不同的预装配单元的识别信息互不相同,每一预装配单元用于预存储一唯一类型的业务结果且不同的预装配单元预存储的业务结果互不相同;
该处理单元用于从一数据源获取数据进行加工处理,并将生成的业务结果传输至该并发队列;
该第一判断单元用于判断该业务结果的类型,并将该业务结果从该并发队列转移至预存储该类型的业务结果的预装配单元;
该第二判断单元用于判断该业务结果转移至的预装配单元中的业务结果是否已经全部生成,若是则调用该业务结果转移至的预装配单元对应的排序函数,以使得该业务结果转移至的预装配单元中的所有业务结果按照该对应的排序函数进行排序。
在本方案中,并发模块在内部操作并发性,它不与实际的业务逻辑打交道,而只是把并发处理后得到的无序结果按业务系统的要求进行排序、分类后返回给业务系统,其内部的并发性处理沿用普通的多线程和并发程序设计技术即可。
本发明还提供一种业务系统,其特点在于,该业务系统包括一设置单元、一创建单元和一调用单元,该设置单元用于将业务结果划分为若干类型,并每种类型设有对应唯一的识别信息和排序函数,且不同的类型的识别信息互不相同;
该创建单元用于将所有类型以及每一类型对应的识别信息和排序函数的集合作为构造函数的参数创建一并发模块的实例,以使得该并发模块根据该些类型创建相应的预装配单元;
该调用单元用于调用该并发模块的输出接口以等待业务结果的返回。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于携程计算机技术(上海)有限公司,未经携程计算机技术(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410008811.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:定时任务调度系统及方法
- 下一篇:一种可扩展的分布仿真数据映射方法及系统