一种同步业务数据的方法及装置制造方法

文档序号:7821030阅读:191来源:国知局
一种同步业务数据的方法及装置制造方法
【专利摘要】本发明公开了一种同步业务数据的方法及装置,属于互联网通信领域。所述方法包括:第一业务服务器当监测到运行业务的程序代码产生第一业务数据时,获取程序代码中用于产生第一业务数据的类和函数;根据该类和函数,获取第一业务数据对应的第一同步信息,第一同步信息包括该类的类标识、该函数的函数标识、该函数中包括的参数的参数类型和参数值;向该业务对应的业务服务器组中除第一业务服务器以外的其他每个业务服务器发送第一同步信息,使其他每个业务服务器分别根据第一同步信息执行类和函数产生第一业务数据,以实现同步第一业务数据。所述装置包括:第一获取模块、第二获取模块和发送模块。本发明能够节省带宽资源并提高同步业务数据的效率。
【专利说明】一种同步业务数据的方法及装置

【技术领域】
[0001] 本发明涉及互联网通信领域,特别涉及一种同步业务数据的方法及装置。

【背景技术】
[0002] 目前,为了缓解庞大的访问量对业务服务器造成的压力,通常使用多个业务服务 器来为一个业务提供服务。当在一个业务服务器上产生业务数据时,该业务服务器需要将 产生的业务数据同步到其他业务服务器中,以保证其他业务服务器可以根据该业务数据为 该业务提供服务。
[0003] 当前,现有技术提供了一种同步业务数据的方法,包括:其中,事先设置一个数据 服务器,该数据服务器用于存储业务的业务数据。该业务对应多个业务服务器,当在这多个 业务服务器中的任一业务服务器上产生业务数据时,该业务服务器将产生的业务数据发送 给数据服务器,数据服务器存储该业务数据。而当一个业务服务器接收到用于读取该业务 数据的业务请求时,业务服务器发送用于获取该业务数据的请求给数据服务器,从数据服 务器获取该业务数据,以实现将该业务数据同步到该业务服务器中,然后该业务服务器再 将获取的业务数据发送给用户。
[0004] 在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
[0005] 每次产生业务数据,都要将产生的业务数据发送给数据服务器,而当需要读取业 务数据时,再从数据服务器获取该业务数据,如此会占用大量的带宽资源,且当产生的业务 数据的容量很大时,发送业务数据花费的时间很长,导致同步业务数据的效率很低。


【发明内容】

[0006] 为了节省带宽资源,并提高同步业务数据的效率,本发明提供了一种同步业务数 据的方法及装置。所述技术方案如下:
[0007] -种同步业务数据的方法,所述方法包括:
[0008] 第一业务服务器当监测到运行业务的程序代码产生第一业务数据时,获取所述程 序代码中用于产生所述第一业务数据的类和函数;
[0009] 根据所述类和所述函数,获取所述第一业务数据对应的第一同步信息,所述第一 同步信息包括所述类的类标识、所述函数的函数标识、所述函数中包括的参数的参数类型 和参数值;
[0010] 向所述业务对应的业务服务器组中除所述第一业务服务器以外的其他每个业务 服务器发送所述第一同步信息,使所述其他每个业务服务器分别根据所述第一同步信息执 行所述类和所述函数产生所述第一业务数据,以实现同步所述第一业务数据。
[0011] 一种同步业务数据的装置,所述装置包括:
[0012] 第一获取模块,用于第一业务服务器当监测到运行业务的程序代码产生第一业务 数据时,获取所述程序代码中用于产生所述第一业务数据的类和函数;
[0013] 第二获取模块,用于根据所述类和所述函数,获取所述第一业务数据对应的第一 同步信息,所述第一同步信息包括所述类的类标识、所述函数的函数标识、所述函数中包括 的参数的参数类型和参数值;
[0014] 发送模块,用于向所述业务对应的业务服务器组中除所述第一业务服务器以外的 其他每个业务服务器发送所述第一同步信息,使所述其他每个业务服务器分别根据所述第 一同步信息执行所述类和所述函数产生所述第一业务数据,以实现同步所述第一业务数 据。
[0015] 在本发明实施例中,第一业务服务器当监测到运行业务的程序代码产生第一业务 数据时,获取程序代码中用于产生第一业务数据的类和函数;根据该类和函数,获取第一业 务数据对应的第一同步信息,第一同步信息包括该类的类标识、该函数的函数标识、该函数 中包括的参数的参数类型和参数值;向该业务对应的业务服务器组中除第一业务服务器以 外的其他每个业务服务器发送第一同步信息,使其他每个业务服务器分别根据第一同步信 息执行类和函数产生第一业务数据,以实现同步第一业务数据。由于第一同步信息的容量 很小,发送第一同步信息所占用的带宽很少,且发送第一同步信息的速度很快,其他每个业 务服务器接收到第一同步信息之后根据第一同步信息快速生成第一业务数据,如此节省了 网络带宽,提高了同步业务数据的效率。

【专利附图】

【附图说明】
[0016] 图1是本发明实施例1提供的一种同步业务数据的方法流程图;
[0017] 图2是本发明实施例2提供的一种同步业务数据的方法流程图;
[0018] 图3是本发明实施例3提供的一种同步业务数据的装置结构示意图。

【具体实施方式】
[0019] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方 式作进一步地详细描述。
[0020] 实施例1
[0021] 参见图1,本发明实施例提供了一种同步业务数据的方法,包括:
[0022] 步骤101 :第一业务服务器当监测到运行业务的程序代码产生第一业务数据时, 获取程序代码中用于产生第一业务数据的类和函数;
[0023] 步骤102:根据该类和该函数,获取第一业务数据对应的第一同步信息,第一同步 信息包括该类的类标识、该函数的函数标识、该函数中包括的参数的参数类型和参数值;
[0024] 步骤103:向该业务对应的业务服务器组中除第一业务服务器以外的其他每个业 务服务器发送第一同步信息,使其他每个业务服务器分别根据第一同步信息执行类和函数 产生第一业务数据,以实现同步第一业务数据。
[0025] 优选地,根据该类和该函数,获取第一业务数据对应的第一同步信息,包括:
[0026] 获取该类的类标识和该函数的函数标识;
[0027] 获取该函数中包括的每个参数,分别获取每个参数的参数值,以及获取每个参数 值的参数类型;
[0028] 将获取的类标识、函数标识、参数类型和参数值组成第一业务数据对应的第一同 步信息。
[0029] 优选地,向该业务对应的业务服务器组中除第一业务服务器以外的其他每个业务 服务器发送第一同步信息,包括 :
[0030] 从控制服务器获取业务对应的业务服务器组中除第一业务服务器以外的其他每 个业务服务器的地址,根据其他每个业务服务器的地址分别向其他每个业务服务器发送第 一同步信息;或者,
[0031] 向控制服务器发送第一同步信息、该业务的业务标识和第一业务服务器的标识, 使控制服务器根据业务对应的业务服务器组中除第一业务服务器以外的其他每个业务服 务器的地址分别发送第一同步信息给其他每个业务服务器。
[0032] 进一步地,该方法还包括:
[0033] 接收第二业务服务器发送的第二同步信息,第二同步信息包括类标识、函数标识、 参数类型和参数值;
[0034] 根据第二同步信息,执行该类标识对应的类和该函数标识对应的函数,以产生第 二业务数据。
[0035] 优选地,根据第二同步信息,执行该类标识对应的类和该函数标识对应的函数,以 产生第二业务数据,包括:
[0036] 根据第二同步信息中包括的类标识,从程序代码中获取该类标识对应的类;
[0037] 根据第二同步信息中包括的函数标识,从程序代码中获取该函数标识对应的函 数;
[0038] 根据第二同步信息中包括的参数类型和参数值,执行获取的类和获取的函数,以 产生第二业务数据。
[0039] 在本发明实施例中,第一业务服务器当监测到运行业务的程序代码产生第一业务 数据时,获取程序代码中用于产生第一业务数据的类和函数;根据该类和函数,获取第一业 务数据对应的第一同步信息,第一同步信息包括该类的类标识、该函数的函数标识、该函数 中包括的参数的参数类型和参数值;向该业务对应的业务服务器组中除第一业务服务器以 外的其他每个业务服务器发送第一同步信息,使其他每个业务服务器分别根据第一同步信 息执行类和函数产生第一业务数据,以实现同步第一业务数据。由于第一同步信息的容量 很小,发送第一同步信息所占用的带宽很少,且发送第一同步信息的速度很快,其他每个业 务服务器接收到第一同步信息之后根据第一同步信息快速生成第一业务数据,如此节省了 网络带宽,提高了同步业务数据的效率。
[0040] 实施例2
[0041] 本发明实施例提供了 一种同步业务数据的方法。
[0042]目前,为了缓解庞大的访问量对业务服务器造成的压力,通常使用多个业务服务 器来为一个业务提供服务,如此一个业务对应一个业务服务器组。当业务服务器组中的一 个业务服务器产生业务数据时,该业务服务器可以通过本发明实施例提供的方法来将产生 的业务数据同步到该业务服务器组中除该业务服务器以外的其他每个业务服务器中。
[0043] 其中,该业务还对应一个负载均衡服务器,用于均衡该业务对应的业务服务器组 中每个业务服务器的负载压力。当该负载均衡服务器接收到该业务的一个业务请求时,负 载均衡服务器根据业务服务器组中每个业务服务器的负载情况,确定负载压力最小的一个 业务服务器,并将该业务请求转发给确定的业务服务器。
[0044] 参见图2,该方法具体包括:
[0045] 步骤201:第一业务服务器当监测到运行业务的程序代码产生第一业务数据时, 获取该程序代码中用于产生第一业务数据的类和函数;
[0046] 其中,技术人员在编写业务的程序代码时,对程序代码中能够产生业务数据的类 和函数进行标注,然后将业务的程序代码存储在该业务对应的业务服务器组包括的每个业 务服务器中。
[0047]其中,类是面向对象程序设计中的一种数据类型,用于描述具有共同特征的一类 事物。类的内部封装了函数,在运行时需要将类实例化为对象,该对象具有该类描述的特 征,通过该对象来调用函数。例如,"教师"就是一个类,"教师"这个类描述了所有教师的共 同特征。"教师"这个类可以封装"备课"函数和"查看备课本"函数。对"教师"这个类进行 实例化可以得到一个对象"李老师"。在运行时,通过对象"李老师"来调用函数"备课"或 "查看备课本"。其中,"李老师"调用函数"备课"能够产生业务数据,而"李老师"调用函数 "查看备课本"不能产生业务数据。
[0048]其中,将类实例化为对象,就是在内存中开辟一个存储空间,用于存储该对象的数 据信息。例如,将"教师"这个类实例化为对象"李老师",就是在内存中开辟一个存储空间 来存储"李老师"的数据信息,"李老师"的数据信息可以包括"李老师"所教的班级名称和 课程名称等。
[0049]本步骤具体为,当第一业务服务器接收到负载均衡服务器转发的业务请求时,运 行该业务的程序代码来处理该业务请求,此时第一业务服务器对该业务的程序代码进行监 测,当监测到程序代码中某个标注的类调用某个标注的函数时,判断出该类和该函数被执 行并产生了第一业务数据,此时从程序代码中获取该类和该函数。
[0050] 其中,第一业务服务器为该业务对应的业务服务器组中的任一业务服务器。
[0051] 例如,当第一业务服务器接收到负载均衡服务器转发的业务请求时,运行该业务1 的程序代码来处理该业务请求,此时第一业务服务器对该业务1的程序代码进行监测,当 监测到程序代码中某个标注的类调用某个标注的函数时,判断出该类和该函数被执行并产 生了第一业务数据。假设该标注的类为类"教师",该标注的函数为函数"备课"。此时从程 序代码中获取该类"教师"和该函数"备课"。
[0052] 步骤202:根据获取的类和函数,获取第一业务数据对应的第一同步信息,第一 同步信息包括该类的类标识、该函数的函数标识、该函数中包括的参数的参数类型和参数 值;
[0053] 其中,该类的类标识可以为该类的类名等,该函数的函数标识可以为该函数的函 数名等。函数中包括至少一个参数,在运行该函数时,函数中包括的参数被赋予参数值,参 数值具有对应的参数类型,参数类型可以为整型或字符型等。
[0054] 本步骤具体为,从该类中获取该类的类名作为该类的类标识。从该函数中获取该 函数的函数名作为该函数的函数标识。获取该函数中包括的每个参数,分别获取每个参数 的参数值,以及获取每个参数值的参数类型。将获取的类标识、函数标识、参数类型和参数 值组成第一业务数据对应的第一同步信息。
[0055] 例如,从该类"教师"中获取该类的类名"教师"作为该类的类标识。从该函数"备 课"中获取该函数的函数名"备课"作为该函数的函数标识。获取该函数"备课"中包括的 每个参数,假设函数"备课"中包括参数"老师"、"课程"和"页数",获取参数"老师"的参数 值"李老师"、参数"课程"的参数值"语文"和参数"页数"的参数值" 5页",以及获取参数 值"李老师"、"语文"和参数值"5页"的参数类型均为整型。将获取的类标识"教师"、函数 标识"备课"、参数值"李老师"及其参数类型整型、参数值"语文"及其参数类型整型和参数 值"5页"及其参数类型整型组成第一业务数据对应的第一同步信息S1。
[0056]其中,通过上述步骤201和202的操作获取到第一业务数据对应的第一同步信息 之后,可以通过如下步骤203的操作将第一业务数据同步到该业务对应的业务服务器组包 括的除第一业务服务器以外的其他每个业务服务器中。
[0057]步骤203 :向该业务对应的业务服务器组中除第一业务服务器以外的其他每个业 务服务器发送第一同步信息,使其他每个业务服务器分别根据第一同步信息执行该类和该 函数产生第一业务数据,以实现同步第一业务数据;
[0058]其中,在网络中还可以设置控制服务器,控制服务器中存储有该业务对应的业务 服务器组包括的每个业务服务器的标识与地址的对应关系。控制服务器与负载均衡服务器 可以为同一个服务器,也可以为不同的服务器。
[0059]其中,本步骤可以通过如下第一和第二两中方式来实现,具体为:
[0060] 第一,第一业务服务器发送该业务的业务标识和第一业务服务器的标识给控制服 务器。控制服务器根据该业务的业务标识,从业务标识与业务服务器组的对应关系中,获取 该业务对应的业务服务器组,根据第一业务服务器的标识,从该业务服务器组中获取除第 一业务服务器以外的其他每个业务服务器的标识,然后根据其他每个业务服务器的标识, 从业务服务器的标识与地址的对应关系中获取业务服务器组中除第一业务服务器以外的 其他每个业务服务器的地址,并将其他每个业务服务器的地址返回给第一业务服务器。第 一业务服务器根据其他每个业务服务器的地址,分别向其他每个业务服务器发送第一同步 信息。其他每个业务服务器接收到第一同步信息之后,分别根据第一同步信息执行该类和 该函数产生第一业务数据,以实现同步第一业务数据。
[0061] 例如,假设业务服务器组中包括业务服务器1、2和3,其中,业务服务器1为第一 业务服务器。第一业务服务器1发送该业务1的业务标识B1和第一业务服务器的标识F1 给控制服务器。控制服务器根据该业务1的业务标识B1,从如表1所示的业务标识与业务 服务器组的对应关系中,获取该业务1对应的业务服务器组(FI、F2、F3),根据第一业务服 务器的标识F1,从该业务服务器组(F1、F2、F3)中获取除第一业务服务器以外的业务服务 器2和3的标识分别为F2和F3,然后根据业务服务器2和3的标识F2和F3,从如表2所 示的业务服务器的标识与地址的对应关系中获取业务服务器组(F1、F2、F3)中除第一业务 服务器1以外的业务服务器2和3的地址分别为URL2和URL3,并将业务服务器2和3的地 址URL2和URL3返回给第一业务服务器1。第一业务服务器1根据业务服务器2和3的地 址URL2和URL3,分别向业务服务器2和3发送第一同步信息S1。业务服务器2和3接收 到第一同步信息S1之后,分别根据第一同步信息S1执行该类"教师"和该函数"备课"产 生第一业务数据,以实现同步第一业务数据。
[0062]表1
[0063]
[0064]表 2

【权利要求】
1. 一种同步业务数据的方法,其特征在于,所述方法包括: 第一业务服务器当监测到运行业务的程序代码产生第一业务数据时,获取所述程序代 码中用于产生所述第一业务数据的类和函数; 根据所述类和所述函数,获取所述第一业务数据对应的第一同步信息,所述第一同步 信息包括所述类的类标识、所述函数的函数标识、所述函数中包括的参数的参数类型和参 数值; 向所述业务对应的业务服务器组中除所述第一业务服务器以外的其他每个业务服务 器发送所述第一同步信息,使所述其他每个业务服务器分别根据所述第一同步信息执行所 述类和所述函数产生所述第一业务数据,以实现同步所述第一业务数据。
2. 如权利要求1所述的方法,其特征在于,所述根据所述类和所述函数,获取所述第一 业务数据对应的第一同步信息,包括: 获取所述类的类标识和所述函数的函数标识; 获取所述函数中包括的每个参数,分别获取所述每个参数的参数值,以及获取所述每 个参数值的参数类型; 将所述获取的类标识、所述函数标识、所述参数类型和所述参数值组成所述第一业务 数据对应的第一同步信息。
3. 如权利要求1所述的方法,其特征在于,所述向所述业务对应的业务服务器组中除 所述第一业务服务器以外的其他每个业务服务器发送所述第一同步信息,包括: 从控制服务器获取所述业务对应的业务服务器组中除所述第一业务服务器以外的其 他每个业务服务器的地址,根据所述其他每个业务服务器的地址分别向所述其他每个业务 服务器发送所述第一同步信息;或者, 向所述控制服务器发送所述第一同步信息、所述业务的业务标识和所述第一业务服务 器的标识,使所述控制服务器根据所述业务对应的业务服务器组中除所述第一业务服务器 以外的其他每个业务服务器的地址分别发送所述第一同步信息给所述其他每个业务服务 器。
4. 如权利要求1所述的方法,其特征在于,所述方法还包括: 接收第二业务服务器发送的第二同步信息,所述第二同步信息包括类标识、函数标识、 参数类型和参数值; 根据所述第二同步信息,执行所述类标识对应的类和所述函数标识对应的函数,以产 生第二业务数据。
5. 如权利要求4所述的方法,其特征在于,所述根据所述第二同步信息,执行所述类标 识对应的类和所述函数标识对应的函数,以产生第二业务数据,包括: 根据所述第二同步信息中包括的类标识,从程序代码中获取所述类标识对应的类; 根据所述第二同步信息中包括的函数标识,从所述程序代码中获取所述函数标识对应 的函数; 根据所述第二同步信息中包括的参数类型和参数值,执行所述获取的类和所述获取的 函数,以产生第二业务数据。
6. -种同步业务数据的装置,其特征在于,所述装置包括: 第一获取模块,用于第一业务服务器当监测到运行业务的程序代码产生第一业务数据 时,获取所述程序代码中用于产生所述第一业务数据的类和函数; 第二获取模块,用于根据所述类和所述函数,获取所述第一业务数据对应的第一同步 信息,所述第一同步信息包括所述类的类标识、所述函数的函数标识、所述函数中包括的参 数的参数类型和参数值; 发送模块,用于向所述业务对应的业务服务器组中除所述第一业务服务器以外的其他 每个业务服务器发送所述第一同步信息,使所述其他每个业务服务器分别根据所述第一同 步信息执行所述类和所述函数产生所述第一业务数据,以实现同步所述第一业务数据。
7. 如权利要求6所述的装置,其特征在于,所述第二获取模块包括: 第一获取单元,用于获取所述类的类标识和所述函数的函数标识; 第二获取单元,用于获取所述函数中包括的每个参数,分别获取所述每个参数的参数 值,以及获取所述每个参数值的参数类型; 组成单元,用于将所述获取的类标识、所述函数标识、所述参数类型和所述参数值组成 所述第一业务数据对应的第一同步信息。
8. 如权利要求6所述的装置,其特征在于,所述发送模块包括: 第一发送单元,用于从控制服务器获取所述业务对应的业务服务器组中除所述第一业 务服务器以外的其他每个业务服务器的地址,根据所述其他每个业务服务器的地址分别向 所述其他每个业务服务器发送所述第一同步信息;或者, 第二发送单元,用于向所述控制服务器发送所述第一同步信息、所述业务的业务标识 和所述第一业务服务器的标识,使所述控制服务器根据所述业务对应的业务服务器组中除 所述第一业务服务器以外的其他每个业务服务器的地址分别发送所述第一同步信息给所 述其他每个业务服务器。
9. 如权利要求6所述的装置,其特征在于,所述装置还包括: 接收模块,用于接收第二业务服务器发送的第二同步信息,所述第二同步信息包括类 标识、函数标识、参数类型和参数值; 执行模块,用于根据所述第二同步信息,执行所述类标识对应的类和所述函数标识对 应的函数,以产生第二业务数据。
10. 如权利要求9所述的装置,其特征在于,所述执行模块包括: 第三获取单元,用于根据所述第二同步信息中包括的类标识,从程序代码中获取所述 类标识对应的类; 第四获取单元,用于根据所述第二同步信息中包括的函数标识,从所述程序代码中获 取所述函数标识对应的函数; 执行单元,用于根据所述第二同步信息中包括的参数类型和参数值,执行所述获取的 类和所述获取的函数,以产生第二业务数据。
【文档编号】H04L29/06GK104410632SQ201410699181
【公开日】2015年3月11日 申请日期:2014年11月26日 优先权日:2014年11月26日
【发明者】覃炜 申请人:广州华多网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1